【发布时间】:2015-02-18 10:09:04
【问题描述】:
我最近为 CQL 表降低了 gc_grace_seconds。我正在运行LeveledCompactionStrategy。我可以从我的 SSTables 中强制清除旧的墓碑吗?
【问题讨论】:
标签: cassandra datastax datastax-enterprise tombstone
我最近为 CQL 表降低了 gc_grace_seconds。我正在运行LeveledCompactionStrategy。我可以从我的 SSTables 中强制清除旧的墓碑吗?
【问题讨论】:
标签: cassandra datastax datastax-enterprise tombstone
您的墓碑将通过压缩位自行消失,请确保您正在运行修复,否则它们可能会死而复生。
http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_about_deletes_c.html
只有两个墓碑都不能立即删除:
1) gc_grace_seconds 已过期
2) 它们满足 tombstone compaction 子属性中配置的要求
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 实用程序。
【讨论】: