Sylvain Lebresne created CASSANDRA-4671:
-------------------------------------------
Summary: Improve removal of gcable tomstones during minor
compaction
Key: CASSANDRA-4671
URL: https://issues.apache.org/jira/browse/CASSANDRA-4671
Project: Cassandra
Issue Type: Improvement
Reporter: Sylvain Lebresne
Priority: Minor
When we minor compact, we only purge a row if we know it's not present in any
of the sstables that are not in the compaction set.
It is however possible to have scenario where this leads us to keep irrelevant
tombstone for longer than necessary (and I suspect LCS make those scenario a
little bit more likely).
We could however purge tombstone if we know that the non-compacted sstables
doesn't have any info that is older than the tombstones we're about to purge
(since then we know that the tombstones we'll consider can't delete data in non
compacted sstables).
In other words, we should force CompactionController.shouldPurge() to return
true if min_timestamp(non-compacted-overlapping-sstables) >
max_timestamp(compacted-sstables).
This does require us to record the min timestamp of an sstable first though (we
only record the max timestamp so far).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira