Details
-
Bug
-
Status: Triage Needed
-
Normal
-
Resolution: Unresolved
-
None
-
None
-
All
-
None
Description
The sstable tracking by the compaction strategies permits a race between an sstable is added and removed that can cause a removed sstable to remain in the tracked list (when the add notification is received after the removal).
This can cause reference leaks, because such SSTableReader s remain in the list forever, but if a strategy does not filter its sstable list through the live list (e.g. LCS in some code paths) it can also cause sstables that end up being selected to compact with these zombies to never compact, without even triggering the "Could not acquire references for compacting SSTables..." message in some cases (e.g. as LCS will not select the same compaction immediately).