无法使用(STCS)SizeTieredCompactionStrategy 摆脱 cassandra 2.1.8 中的墓碑

Can not get rid of tombstones in cassandra 2.1.8 using (STCS) SizeTieredCompactionStrategy

我有一个 3 节点的 cassandra (2.1.8) 集群,我在上面使用 titan db (v0.5.4) 运行ning 应用程序。数据量非常小(<20 MB),但由于我的用例需要不时删除,我已经遇到了墓碑问题。 我无法摆脱已经创建的墓碑。 我尝试过的解决方案是:

因此,统计数据有所降低,但每个切片的平均墓碑数每个切片的最大墓碑数仍然不令人满意:

Table: graphindex
    **SSTable count: 1**
    Space used (live): 661873
    Space used (total): 661873
    Space used by snapshots (total): 0
    Off heap memory used (total): 6544
    SSTable Compression Ratio: 0.6139286819777781
    Number of keys (estimate): 4082
    Memtable cell count: 0
    Memtable data size: 0
    Memtable off heap memory used: 0
    Memtable switch count: 15
    Local read count: 25983
    Local read latency: 0.931 ms
    Local write count: 23610
    Local write latency: 0.057 ms
    Pending flushes: 0
    Bloom filter false positives: 0
    Bloom filter false ratio: 0.00000
    Bloom filter space used: 5208
    Bloom filter off heap memory used: 5200
    Index summary off heap memory used: 1248
    Compression metadata off heap memory used: 96
    Compacted partition minimum bytes: 43
    Compacted partition maximum bytes: 152321
    Compacted partition mean bytes: 203
    Average live cells per slice (last five minutes): 728.4188892737559
    Maximum live cells per slice (last five minutes): 4025.0
    **Average tombstones per slice (last five minutes): 317.34938228841935**
    **Maximum tombstones per slice (last five minutes): 8031.0**

是否有删除所有墓碑的选项?提前感谢您的任何建议。

问题已解决。

事实证明,有关统计信息的信息非常具有误导性,因为 'Average tombstones per slice (last five minutes)' 和 'Maximum tombstones per slice (last five minutes)' 并且可能在最后 5 分钟内未计算活细胞统计信息,因为它是由 nodetool cfstats 编写的。但是它们是从节点启动开始计算的。我的节点 运行 有几个月了,所以即使清除了墓碑,我也看不出有什么大的不同,因为统计值已经很高的天数已经很大了。在我重新启动节点后,统计数据清除了,我可以看到压缩生效了。

很遗憾,我很难找到有关统计描述中此错误的信息(https://issues.apache.org/jira/browse/CASSANDRA-7731)

希望这可以帮助人们更快地获得这些信息。