incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paulo Ricardo Motta Gomes <>
Subject Automatic tombstone removal issue (STCS)
Date Mon, 05 May 2014 11:59:25 GMT

After noticing that automatic tombstone removal (CASSANDRA-3442) was not
working in an append-only STCS CF with 40% of droppable tombstone ratio I
investigated why the compaction was not being triggered in the largest
SSTable with 16GB and about 70% droppable tombstone ratio.

When the code goes to check if the SSTable is candidate to be compacted
(AbstractCompactionStrategy.worthDroppingTombstones), it verifies if all
the others SSTables overlap with the current SSTable by checking if the
start and end tokens overlap. The problem is that all SSTables contain
pretty much the whole node token range, so all of them overlap nearly all
the time, so the automatic tombstone removal never happens. Is there any
case in STCS where all sstables token ranges DO NOT overlap?

I understand during the tombstone removal process it's necessary to verify
if the compacted row exists in any other SSTable, but I don't understand
why it's necessary to verify if the token ranges overlap to decide if a
tombstone compaction must be executed on a single SSTable with high
droppable tombstone ratio.

Any clarification would be kindly appreciated.

PS: Cassandra version: 1.2.16

*Paulo Motta*

Chaordic | *Platform*
* <>*
+55 48 3232.3200

View raw message