Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-18795

Compaction purger doesn't handle seeing random slices of state correctly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Triage Needed
    • Normal
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      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.

      Attachments

        Activity

          People

            aweisberg Ariel Weisberg
            aweisberg Ariel Weisberg
            Ariel Weisberg
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: