如何在将来使用时间戳删除墓碑

问题描述 投票:3回答:1

如何在不久的将来删除带有时间戳的插入的墓碑?

上下文:一些代码中存在一个错误,该错误会在遥远的将来插入带有时间戳的条目。通过将来进一步创建逻辑删除器,手动删除了对象。

现在具有相同分区键的插入将由于将来的逻辑删除条目而被自动删除。这些条目由于其时间戳而在压缩期间不会被删除。如何删除这些将来的墓碑,以便可以正确插入具有相同PK的条目?

cassandra cassandra-3.0
1个回答
0
投票

我通过将客户端服务器设置为+30分钟来重现相同的问题。我在客户端的某个分区上执行了删除操作。它创建了带有未来时间戳记的墓碑。我在源数据库服务器上所有具有正确时间的更新都将被忽略,因为Cassandra只关心最新的时间戳数据。

我执行了这些步骤来清除有此问题的桌上的墓碑

1)将表属性gc_grace_seconds设置为0

2)nodetool刷新键空间表

3)nodetool紧凑键空间表

我只有一个节点。如果您有多个节点,那么除了设置表属性之外,您需要在所有节点上执行上述步骤

注意:执行此操作将清除所有墓碑,并且压缩会占用大量资源

© www.soinside.com 2019 - 2024. All rights reserved.