我最近为CQL表降低了gc_grace_seconds
。我正在运行LeveledCompactionStrategy
。我是否有可能强行从我的SSTables中清除旧的墓碑?
答案 0 :(得分:12)
你的墓碑将通过压实位自行消失,确保你正在修理,或者他们可能会从死里复活。
http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_about_deletes_c.html
直到两者都没有立即删除墓碑:
1)gc_grace_seconds已过期
2)它们符合逻辑删除压缩子属性中配置的要求
1)运行修复以确保您的墓碑是一致的
2)减少你的表格的gc_grace_seconds(alter table statement)
3)配置compaction sub properties以加快删除墓碑:
减少tombstone_compaction_interval并减少tombstone_threshold,或将unchecked_tombstone_compaction设置为true以忽略这两个条件并仅基于gc grace进行收集。
您可以在nodetool cfstats
中查看有关逻辑删除的统计信息,并使用工具目录sstablemetadata <sstable filenames>
中的sstable metatdata实用程序。