在未来很遥远的地方插入的带有时间戳的墓碑怎么能被移除呢?上下文:在一些代码中有一个bug,它在遥远的将来插入了带有时间戳的条目。这些对象是通过在将来创建一个墓碑来手动删除的。现在,由于将来的逻辑删除条目,具有相同分区键的插入将自动删除。由于时间戳的原因,在压缩过程中不会删除这些条目。如何删除这些将来的墓碑,以便正确插入具有相同pks的条目?
w8f9ii691#
我通过将客户机服务器设置为+30分钟复制了相同的问题。我在客户端的分区上运行了delete。它创建了带有未来时间戳的墓碑。由于cassandra只关心最新的时间戳数据,所以我在源数据库服务器上的所有时间正确的更新都将被忽略。我做了这些步骤来清除这个问题桌上的墓碑1) 设置表属性 gc_grace_seconds 到02) nodetool flush keyspace表3) nodetool压缩键空间表我只有一个节点。如果有多个节点,则需要对所有节点执行上述步骤,设置表属性除外注意:这样做将清除所有的墓碑,而且压缩也是资源密集型的
gc_grace_seconds
1条答案
按热度按时间w8f9ii691#
我通过将客户机服务器设置为+30分钟复制了相同的问题。我在客户端的分区上运行了delete。它创建了带有未来时间戳的墓碑。由于cassandra只关心最新的时间戳数据,所以我在源数据库服务器上的所有时间正确的更新都将被忽略。
我做了这些步骤来清除这个问题桌上的墓碑
1) 设置表属性
gc_grace_seconds
到02) nodetool flush keyspace表
3) nodetool压缩键空间表
我只有一个节点。如果有多个节点,则需要对所有节点执行上述步骤,设置表属性除外
注意:这样做将清除所有的墓碑,而且压缩也是资源密集型的