【发布时间】:2018-06-22 01:00:12
【问题描述】:
我意识到有些 sstable 不会被删除,即使它们只包含墓碑。 使用手动主要压缩这些 sstables 被删除。 也许它需要将 unchecked_tombstone_compaction 与 gc_grace_period 一起更新为 true
我见过实用程序 sstableexpiredblockers 实用程序,它会显示阻止 SSTable 删除的阻塞 SSTable。
在压缩期间,Cassandra 可以删除整个 SSTables,如果它们包含 只有过期的墓碑,如果保证不覆盖任何数据 在其他 SSTables 中。此诊断工具输出所有 SSTables 阻止其他 SSTables 被删除。
我不明白:
...如果保证不覆盖其他SSTables中的任何数据...
由于我的压缩策略是 TimeWindowCompactionStrategy,所有的 sstables 都有不同的时间间隔。
我想知道如何处理那些阻塞的 SSTables。
【问题讨论】:
-
我知道这个问题现在有点老了,但注意到它没有得到回答。如果您在这里还有一些信息,您能否显示/分享您认为应该压缩的表的 sstablemetadata 输出?
-
您好,markc,感谢您的关注!我发现时间序列是用错误的时间戳写的。我希望 sstables 包含设置 TTL = 1 周的上周的数据。但是,有些表格引用了较旧的时间戳。我发现有些客户的时钟不同步,他们的时间戳超过一周。最终我不得不拒绝这些数据。