mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-31 03:56:42 +00:00
After incremental compaction, new sstables may have already replaced old sstables at any point. Meaning that a new sstable is in-use by table and a old sstable is already deleted when compaction itself is UNFINISHED. Therefore, we should *NEVER* delete a new sstable unconditionally for an interrupted compaction, or data loss could happen. To fix it, we'll only delete new sstables that didn't replace anything in the table, meaning they are unused. Found the problem while auditting the code. Fixes #4479. Signed-off-by: Raphael S. Carvalho <raphaelsc@scylladb.com> Message-Id: <20190506134723.16639-1-raphaelsc@scylladb.com>