Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3A6CD184E1 for ; Fri, 8 Jan 2016 16:02:45 +0000 (UTC) Received: (qmail 24190 invoked by uid 500); 8 Jan 2016 16:02:40 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 24149 invoked by uid 500); 8 Jan 2016 16:02:40 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 24124 invoked by uid 99); 8 Jan 2016 16:02:40 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Jan 2016 16:02:40 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id DD8EF2C1F5B for ; Fri, 8 Jan 2016 16:02:39 +0000 (UTC) Date: Fri, 8 Jan 2016 16:02:39 +0000 (UTC) From: "Carl Yeksigian (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CASSANDRA-10979) LCS doesn't do L0 STC on new tables while an L0->L1 compaction is in progress MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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)