我经常在服务器上留下鬼行,并且在删除Cassandra中的一行后不会消失。
我已尝试使用nodetool(compact,flush等)的所有可能的管理选项,并使用jconsole连接到集群并通过它强制GC,但行保留在集群上。
出于测试目的,我在执行DELETE之前更新了一些TTL为0的行,这些行完全消失了。
我是否需要使用它,或者我能否以某种方式触发最终删除这些已删除的行?
我的testcluster使用Cassandra 1.0.7并且只有一个节点。
答案 0 :(得分:4)
您正在观察的这种现象是分布式删除在Cassandra中工作的结果。请参阅Cassandra FAQ和DistributedDeletes wiki page。
基本上,在GCGraceSeconds过去并且运行了压缩之后,该行将被完全删除。