git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TWCS - Disabling Tombstone Compactions for TWCS


I'm trying to understand the reasoning behind this stanza in Time Windowed
Compaction Strategy's init:
https://github.com/apache/cassandra/blob/cassandra-3.0.15/src/java/org/apache/cassandra/db/compaction/TimeWindowCompactionStrategy.java#L63-L69

Reposted (and slightly reformatted) here for convenience:
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");

If you have left both tombstone compaction interval, and tombstone
threshold at default values, you are *opting out* of tombstone compactions?

This was certainly a surprising side effect to us, as we expected unset
values to have the same exact effect as setting those values to their
defaults.

I'm wondering if someone can shed some more light on this, or if this
should be considered a bug (it seems really intentional).