[ 
https://issues.apache.org/jira/browse/CASSANDRA-10979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Carl Yeksigian updated CASSANDRA-10979:
---------------------------------------
    Attachment: 10979-2.1.txt

Because we will drop out of the method early due to the overlapping L1 sstables 
at 
[L598|https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java#L598],
 this won't return the proper set of sstables. We also need to make sure that 
we are returning a {{CompactionCandidate}} which will compact to L0, otherwise 
we will create overlapping sstables in L1.

I've attached a new patch which factors out the selection of the STCS 
compaction, and if we don't select anything in L0 to compact, we will check to 
see if we should perform an STCS compaction.

> LCS doesn't do L0 STC on new tables while an L0->L1 compaction is in progress
> -----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-10979
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10979
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Compaction
>         Environment: 2.1.11 / 4.8.3 DSE.
>            Reporter: Jeff Ferland
>              Labels: compaction, leveled
>             Fix For: 2.1.x
>
>         Attachments: 10979-2.1.txt
>
>
> Reading code from 
> https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
>  and comparing with behavior shown in 
> https://gist.github.com/autocracy/c95aca6b00e42215daaf, the following happens:
> Score for L1,L2,and L3 is all < 1 (paste shows 20/10 and 200/100, due to 
> incremental repair).
> Relevant code from here is
>     if (Sets.intersection(l1overlapping, compacting).size() > 0)
>         return Collections.emptyList();
> Since there will be overlap between what is compacting and L1 (in my case, 
> pushing over 1,000 tables in to L1 from L0 SCTS), I get a pile up of 1,000 
> smaller tables in L0 while awaiting the transition from L0 to L1 and destroy 
> my performance.
> Requested outcome is to continue to perform SCTS on non-compacting L0 tables.



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

Reply via email to