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 70EAA17C33 for ; Mon, 8 Feb 2016 08:05:31 +0000 (UTC) Received: (qmail 95170 invoked by uid 500); 8 Feb 2016 08:05:30 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 95129 invoked by uid 500); 8 Feb 2016 08:05:30 -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 95085 invoked by uid 99); 8 Feb 2016 08:05:30 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Feb 2016 08:05:30 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 948BCDFA3D; Mon, 8 Feb 2016 08:05:30 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: marcuse@apache.org To: commits@cassandra.apache.org Date: Mon, 08 Feb 2016 08:05:33 -0000 Message-Id: <4600b4808c1948baa056969782c74f67@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [04/10] cassandra git commit: Avoid mixing repaired and unrepaired sstables in DTCS Avoid mixing repaired and unrepaired sstables in DTCS Patch by Blake Eggleston; reviewed by marcuse for CASSANDRA-11113 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd23adf1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd23adf1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd23adf1 Branch: refs/heads/trunk Commit: dd23adf1411e1ccd55a7d89437eccbbd916807f1 Parents: 26aa19e Author: Blake Eggleston Authored: Fri Feb 5 17:23:48 2016 +0100 Committer: Marcus Eriksson Committed: Mon Feb 8 08:49:37 2016 +0100 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../db/compaction/DateTieredCompactionStrategy.java | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 1793c32..054ad1d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.13 + * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113) * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938) * Fix isJoined return true only after becoming cluster member (CASANDRA-11007) * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969) http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd23adf1/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java index ae684ec..64a599d 100644 --- a/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/DateTieredCompactionStrategy.java @@ -385,11 +385,12 @@ public class DateTieredCompactionStrategy extends AbstractCompactionStrategy @Override public synchronized Collection getMaximalTask(int gcBefore) { - Iterable sstables = cfs.markAllCompacting(); - if (sstables == null) + Iterable filteredSSTables = filterSuspectSSTables(sstables); + if (Iterables.isEmpty(filteredSSTables)) return null; - - return Collections.singleton(new CompactionTask(cfs, sstables, gcBefore, false)); + if (!cfs.getDataTracker().markCompacting(ImmutableList.copyOf(filteredSSTables))) + return null; + return Collections.singleton(new CompactionTask(cfs, filteredSSTables, gcBefore, false)); } @Override