Robert Tarrall created CASSANDRA-14496:
------------------------------------------

             Summary: TWCS erroneously disabling tombstone compactions
                 Key: CASSANDRA-14496
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14496
             Project: Cassandra
          Issue Type: Bug
          Components: Compaction
            Reporter: Robert Tarrall


This code:
{code:java}
this.options = new TimeWindowCompactionStrategyOptions(options);
if 
(!options.containsKey(AbstractCompactionStrategy.TOMBSTONE_COMPACTION_INTERVAL_OPTION)
 && !options.containsKey(AbstractCompactionStrategy.TOMBSTONE_THRESHOLD_OPTION))
{
disableTombstoneCompactions = true;
logger.debug("Disabling tombstone compactions for TWCS");
}
else
logger.debug("Enabling tombstone compactions for TWCS");
}
{code}
... in TimeWindowCompactionStrategy.java disables tombstone compactions in TWCS 
if you have not *explicitly* set either tombstone_compaction_interval or 
tombstone_threshold.  Adding 'tombstone_compaction_interval': '86400' to the 
compaction stanza in a table definition has the (to me unexpected) side effect 
of enabling tombstone compactions. 

This is surprising and does not appear to be mentioned in the docs.

I would suggest that tombstone compactions should be run unless these options 
are both set to 0.

If the concern is that (as with DTCS in CASSANDRA-9234) we don't want to waste 
time on tombstone compactions when we expect the tables to eventually be 
expired away, perhaps we should also check unchecked_tombstone_compaction and 
still enable tombstone compactions if that's set to true.

May also make sense to set defaults for interval & threshold to 0 & disable if 
they're nonzero so that setting non-default values, rather than setting ANY 
value, is what determines whether tombstone compactions are enabled?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to