You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sean Thornton (JIRA)" <ji...@apache.org> on 2016/01/06 22:39:39 UTC

[jira] [Created] (CASSANDRA-10976) Improve Tombstone Compaction to respect Partitioner

Sean Thornton created CASSANDRA-10976:
-----------------------------------------

             Summary: Improve Tombstone Compaction to respect Partitioner
                 Key: CASSANDRA-10976
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10976
             Project: Cassandra
          Issue Type: Improvement
          Components: Compaction
            Reporter: Sean Thornton


It would be nice to have AbstractCompactionStrategy.worthDroppingTombstones changed to use the partitioner to help decide when to compact.  It appears that back in CASSANDRA-6563, unchecked_tombstone_compaction was added to try and address this but it is turned off by default.

The problem I have with this method is it was built when OrderedPartitioner was more the norm (vs. Random/Murmur today) and the checks it performs are still based on that assumption.

So my thought would be to update worthDroppingTombstones to get rid of unchecked_tombstone_compaction and do something like the following pseudo -
{code}
// do the early escape checks...
if (ssTableTooNew) return false;
if (droppableRatio <= tombstoneThreshold) return false;

// use the partitioner to try to be smart about it
if (sstable.partitioner.preservesOrder()) {
    // do the range/overlap checks done today and return...
} else {
    return true;
}
{code}

Found in 2.0.14 but looking around seems to be present in newer branches as well.



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