扫描 100k 墓碑后,cassandra 将出错查询,我尝试对表进行主要压缩,但它不会删除其二级索引的墓碑。查询仍然无法完成。
我搜索了一段时间,一个建议是rebuild_index,但我认为重建时会导致许多查询失败,并且我没有估计重建索引需要多长时间。
有什么建议吗?
我不知道你是否找到了答案,但我希望它可以帮助任何人:尝试重建二级索引,我怀疑普通的 nodetool 命令不能正确“清理”二级索引。
# nodetool rebuild_index keyspace "CF" "CF".SecondayIndex
就像 Ananth 所说,您可能需要重新考虑您的数据模型,以避免二级索引再次被墓碑填满。
问候,
将 gc_grace_seconds 更改为 1 并在表上运行压缩并查看。它应该立即清除墓碑。完成后,将 gc_grace_seconds 重置为较低的值。默认为 10 天。我认为您需要更好地对数据进行建模。