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