TWCS - Disabling Tombstone Compactions for TWCS

2018-06-04 Thread Eric Stevens
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).


Re: TWCS - Disabling Tombstone Compactions for TWCS

2018-06-04 Thread Lerh Chuan Low
Hi Eric,

I think it has something to do with the same reason it is disabled in DTCS:
https://issues.apache.org/jira/browse/CASSANDRA-9234 can shed more light.



On 5 June 2018 at 09:02, Eric Stevens  wrote:

> 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).
>