Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
-
Normal
Description
There's been no real requirement for that so far.
As beobal has pointed out, it's not a big issue, since that only could be needed when index files are lost, data corruption on disk (hardware issue) has occurred or there was a bug that'd require an index rebuild.
During rebuild_index task, indexes are only "marked" as removed with SecondaryIndexManager::markIndexRemoved and then buildIndexesBlocking is called. However, since SASI keeps track of SSTables for the index, it's going to filter them out with .filter((sstable) -> !sasi.index.hasSSTable(sstable)) in SASIIndexBuildingSupport.
If I understand the logic correctly, we have to "invalidate" (drop data) right before we re-index them. This is also a blocker for CASSANDRA-11990 since without it we can't have an upgrade path.
I have a patch ready in branch, but since it's a bug, it's better to have it released earlier and for all branches affected.
cc xedin