[
https://issues.apache.org/jira/browse/CASSANDRA-7019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14156595#comment-14156595
]
Jeremiah Jordan commented on CASSANDRA-7019:
--------------------------------------------
I think we should definitely keep the "major compact LCS" option. And change
STCS major compaction to this new way. If we also want to have the
"delete/tombstone only" compaction that just rewrites existing files without
expired tombstones and deleted data (kind of like what half the people out
there think cleanup currently does), that works too.
Though I think that mode is a little harder to implement if we want it to
remove tombstones and dead data, as you need to rewrite multiple files at once
for that, and without doing that you aren't going to be able to remove all the
old tombstones. Just the ones we were being too conservative on throwing out
because we don't do a full read, but just a bloom filter check, to see if the
tombstone still shadows existing data..
> Major tombstone compaction
> --------------------------
>
> Key: CASSANDRA-7019
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7019
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Marcus Eriksson
> Assignee: Marcus Eriksson
> Labels: compaction
> Fix For: 3.0
>
>
> It should be possible to do a "major" tombstone compaction by including all
> sstables, but writing them out 1:1, meaning that if you have 10 sstables
> before, you will have 10 sstables after the compaction with the same data,
> minus all the expired tombstones.
> We could do this in two ways:
> # a nodetool command that includes _all_ sstables
> # once we detect that an sstable has more than x% (20%?) expired tombstones,
> we start one of these compactions, and include all overlapping sstables that
> contain older data.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)