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

Carl Yeksigian commented on CASSANDRA-7409:
-------------------------------------------

It appears that the L2->L3 compactions are including everything in L3 (kind of 
like L0->L1 now). This shouldn't happen, so it seems like it isn't choosing the 
best sstables to compact together in L3. It is the same in L0->L1 in the new 
LCS run.

The reason that we pick candidates from the bottom is that we want to use the 
IO we have on making progress on pushing data through the levels. This means 
that with overlapping, we want to get as much data as possible out of L0 at 
each compaction, but we aren't wasting IO because we shouldn't do any rewriting 
of data from L1 until we have nothing else to compact.

There is going to be an issue when we have MOLO=0, because we can't do anything 
about that overlapping, so it makes sense to keep the old behaviour in at least 
that case.

> Allow multiple overlapping sstables in L1
> -----------------------------------------
>
>                 Key: CASSANDRA-7409
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7409
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Carl Yeksigian
>            Assignee: Carl Yeksigian
>              Labels: compaction
>             Fix For: 3.0
>
>
> Currently, when a normal L0 compaction takes place (not STCS), we take up to 
> MAX_COMPACTING_L0 L0 sstables and all of the overlapping L1 sstables and 
> compact them together. If we didn't have to deal with the overlapping L1 
> tables, we could compact a higher number of L0 sstables together into a set 
> of non-overlapping L1 sstables.
> This could be done by delaying the invariant that L1 has no overlapping 
> sstables. Going from L1 to L2, we would be compacting fewer sstables together 
> which overlap.
> When reading, we will not have the same one sstable per level (except L0) 
> guarantee, but this can be bounded (once we have too many sets of sstables, 
> either compact them back into the same level, or compact them up to the next 
> level).
> This could be generalized to allow any level to be the maximum for this 
> overlapping strategy.



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

Reply via email to