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