Cassandra 文档

版本

您正在查看预发布版本的文档。

sstableexpiredblockers

在压缩过程中,如果整个 SSTable 仅包含已过期的墓碑,并且可以保证数据不比其他 SSTable 中的数据更新,则可以删除整个 SSTable。如果已过期 SSTable 的最新时间戳比另一个 SSTable 中的最旧数据更新,则可以阻止删除已过期 SSTable。

此工具用于列出所有阻止其他 SSTable 删除的 SSTable(因为它们拥有比已过期 SSTable 中的最新墓碑更旧的数据),以便用户可以找出为什么某些 SSTable 仍然存在于磁盘上。

在执行此工具之前,必须停止 Cassandra,否则会导致意外结果。注意:该脚本不会验证 Cassandra 是否已停止。

用法

sstableexpiredblockers <keyspace> <table>

输出被阻止的 SSTable

如果表存在 SSTable,但没有表拥有比已过期 SSTable 中的最新墓碑更旧的数据,则脚本将不返回任何内容。

否则,脚本将返回 <sstable> blocks <> 已过期 SSTable 的删除#,后跟被阻止的 SSTable 列表。

示例

sstableexpiredblockers keyspace1 standard1

[BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-0665ae80b2d711e886c66d2c86545d91/mc-2-big-Data.db') (minTS = 5, maxTS = 5, maxLDT = 2147483647)],  blocks 1 expired sstables from getting dropped: [BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-0665ae80b2d711e886c66d2c86545d91/mc-3-big-Data.db') (minTS = 1536349775157606, maxTS = 1536349780311159, maxLDT = 1536349780)],

[BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-0665ae80b2d711e886c66d2c86545d91/mc-1-big-Data.db') (minTS = 1, maxTS = 10, maxLDT = 2147483647)],  blocks 1 expired sstables from getting dropped: [BigTableReader(path='/var/lib/cassandra/data/keyspace1/standard1-0665ae80b2d711e886c66d2c86545d91/mc-3-big-Data.db') (minTS = 1536349775157606, maxTS = 1536349780311159, maxLDT = 1536349780)],