[ 
https://issues.apache.org/jira/browse/CASSANDRA-7019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15096196#comment-15096196
 ] 

Marcus Eriksson commented on CASSANDRA-7019:
--------------------------------------------

Perhaps we could apply it to the higher (L3+?) levels in leveled compaction? Or 
perhaps the highest and highest - 1 levels. I see two reasons for this;

* we would reduce the number of sstables we have to read when doing these 
compactions - since most sstables in L0 overlap all other sstables we would 
read everything on disk if we did this for all levels. An sstable in L3 will 
only overlap 1 (or 2) sstables in each of L2 and L1. 
* data in the higher levels should be older, meaning we most often can drop 
more covered data/tombstones when doing the high level compactions

Question: (I only quickly skimmed the code) do we drop overwritten data as well?

This approach will not be 'perfect' like the 'compact all sstables 
1:1'-approach outlined above, but I like it - it is quite simple to reason 
about and should give good results (if the performance does not turn out to be 
horrible).

> Improve tombstone compactions
> -----------------------------
>
>                 Key: CASSANDRA-7019
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7019
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Compaction
>            Reporter: Marcus Eriksson
>            Assignee: Branimir Lambov
>              Labels: compaction
>             Fix For: 3.x
>
>
> When there are no other compactions to do, we trigger a single-sstable 
> compaction if there is more than X% droppable tombstones in the sstable.
> In this ticket we should try to include overlapping sstables in those 
> compactions to be able to actually drop the tombstones. Might only be doable 
> with LCS (with STCS we would probably end up including all sstables)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to