Ariel Weisberg created CASSANDRA-18795:
------------------------------------------

             Summary: Compaction purger doesn't handle seeing random slices of 
state correctly
                 Key: CASSANDRA-18795
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18795
             Project: Cassandra
          Issue Type: Bug
            Reporter: Ariel Weisberg
            Assignee: Ariel Weisberg


Compaction purger was written assuming it will be compacting the latest state 
of the command row, but this is far from the case and it will actually be 
compacting a random slice of command row columns and their versions based on 
whatever input sstables are selected for the compaction.

This is not very problematic to fix. A lot of the logic is based on just the 
value of the field, and the remaining can wait until enough of the command is 
visible to determine if cleanup is possible cleanup.

Eventually durability is `universal` and we can drop the row contents based on 
just the `txnid` so there is always a fallback no matter how badly we have torn 
up the state of a command by dropping portions. We don't want to rely on that 
so we do drop a tombstone in the `erase` case which we can later drop when 
durability is `universal` without any expensive tombstone handling checks.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to