如何删除墓碑与时间戳在未来

4c8rllxm  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(378)

在未来很遥远的地方插入的带有时间戳的墓碑怎么能被移除呢?
上下文:在一些代码中有一个bug,它在遥远的将来插入了带有时间戳的条目。这些对象是通过在将来创建一个墓碑来手动删除的。
现在,由于将来的逻辑删除条目,具有相同分区键的插入将自动删除。由于时间戳的原因,在压缩过程中不会删除这些条目。如何删除这些将来的墓碑,以便正确插入具有相同pks的条目?

w8f9ii69

w8f9ii691#

我通过将客户机服务器设置为+30分钟复制了相同的问题。我在客户端的分区上运行了delete。它创建了带有未来时间戳的墓碑。由于cassandra只关心最新的时间戳数据,所以我在源数据库服务器上的所有时间正确的更新都将被忽略。
我做了这些步骤来清除这个问题桌上的墓碑
1) 设置表属性 gc_grace_seconds 到0
2) nodetool flush keyspace表
3) nodetool压缩键空间表
我只有一个节点。如果有多个节点,则需要对所有节点执行上述步骤,设置表属性除外
注意:这样做将清除所有的墓碑,而且压缩也是资源密集型的

相关问题