問題タブ [tombstone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
608 参照

cassandra-3.0 - カサンドラの読み取りに影響するトゥームストーン

カサンドラの読み取りに影響を与える墓石と少し混乱しています。最初の状況は次のとおりです。

Cassandra テーブルがあります。

このテーブルに 2 つのエントリを挿入します。

次に、このテーブルで nodetool flush を使用すると、(sstabledump を使用して) 保存された 2 つの値が明確に表示されます。

次に、最初のレコードの住所値を更新します。

もう一度、このテーブルで nodetool flush を使用すると、最初のエントリ アドレス列に追加されたトゥームストーンが表示されます。

さて、これらの値を

sqlsh で TRACING ON を設定します。次のデバッグ出力で 2 つの最新のエントリが返されたことがわかります。

2 つのライブ行と 0 の廃棄セルを読み取る

私の知る限り、アップグレードは墓石として構成されていませんが、結果を返すために複数の SSTable が読み取られたことがわかります。

最初のレコードを削除すると、すべてのテーブル値を再度読み取っているときに、出力に次のように表示されます。

1 つのライブ行と 1 つのトゥームストーン セルを読み取る

それが私が期待するものです。ただし、残りのレコードに対してこのクエリを実行すると:

次のトレース情報が表示されます。

1 つのライブ行と 0 のトゥームストーン セルを読み取る

問題は、WHERE 句で列が指定されていない場合にのみ、墓石が選択されるのはなぜですか?

0 投票する
2 に答える
826 参照

cassandra - 実際のレコード TTL から 1 か月経過しても Cassandra の墓石が削除されない

DSE 4.7 で問題が発生しました。

トゥームストーンは、圧縮、クリーンアップ、rebuild_index、および修復の後でも削除されません。レコードには 15 日間の ttl があります。

sstablemetadata の出力は、90% のトゥームストーンがあることを示しています

何か案は?

sstablemetadata 出力