Stefan Podkowinski created CASSANDRA-11684:
----------------------------------------------

             Summary: Cleanup key ranges during compaction
                 Key: CASSANDRA-11684
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11684
             Project: Cassandra
          Issue Type: Improvement
          Components: Compaction
            Reporter: Stefan Podkowinski
            Assignee: Stefan Podkowinski


Currently cleanup is considered an optional, manual operation that users are 
told to run to free disk space after a node was affected by topology changes. 
However, unmanaged key ranges could also end up on a node through other ways, 
e.g. manual added sstable files by an admin or over streaming during repairs. 

I'm also not sure unmanaged data is really that harmless and cleanup should 
really be optional, if you don't need to reclaim the disk space. When it comes 
to repairs, users are expected to purge a node after downtime in case it was 
not fully covered by a repair within gc_grace afterwards, in order to avoid 
re-introducing deleted data. But the same could happen with unmanaged data, 
e.g. after topology changes activate unmanaged ranges again or after restoring 
backups.

I'd therefor suggest to avoid rewriting key ranges no longer belonging to a 
node and older than gc_grace during compactions. 

Maybe we could also introduce another CLEANUP_COMPACTION operation to find 
candidates based on SSTable.first/last in case we don't have pending regular or 
tombstone compactions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to