From commits-return-209396-archive-asf-public=cust-asf.ponee.io@cassandra.apache.org Tue Apr 24 09:01:40 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 7306018067E for ; Tue, 24 Apr 2018 09:01:39 +0200 (CEST) Received: (qmail 42551 invoked by uid 500); 24 Apr 2018 07:01:38 -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 42401 invoked by uid 99); 24 Apr 2018 07:01:37 -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; Tue, 24 Apr 2018 07:01:37 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 60B9FF32C5; Tue, 24 Apr 2018 07:01:37 +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: Tue, 24 Apr 2018 07:01:40 -0000 Message-Id: <404634feaf404bc7a3ea2bc5cfa2c35a@git.apache.org> In-Reply-To: <9010600138f1481a81aa438ea1fa50af@git.apache.org> References: <9010600138f1481a81aa438ea1fa50af@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [04/10] cassandra git commit: Use Bounds instead of Range to represent sstables when deciding how to anticompact Use Bounds instead of Range to represent sstables when deciding how to anticompact Patch by marcuse; reviewed by Blake Eggleston for CASSANDRA-14411 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/334dca9a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/334dca9a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/334dca9a Branch: refs/heads/trunk Commit: 334dca9aa825e6d353aa04fd97016ac1077ff132 Parents: 594cde7 Author: Marcus Eriksson Authored: Mon Apr 23 09:13:52 2018 +0200 Committer: Marcus Eriksson Committed: Tue Apr 24 08:21:43 2018 +0200 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../apache/cassandra/db/compaction/CompactionManager.java | 10 +++++----- .../cassandra/db/compaction/AntiCompactionTest.java | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/334dca9a/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 967ee05..5f6189f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.13 + * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411) * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286) * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891) * Fix query pager DEBUG log leak causing hit in paged reads throughput (CASSANDRA-14318) http://git-wip-us.apache.org/repos/asf/cassandra/blob/334dca9a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index d90abe9..419f66e 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -537,13 +537,13 @@ public class CompactionManager implements CompactionManagerMBean { SSTableReader sstable = sstableIterator.next(); - Range sstableRange = new Range<>(sstable.first.getToken(), sstable.last.getToken()); + Bounds sstableBounds = new Bounds<>(sstable.first.getToken(), sstable.last.getToken()); boolean shouldAnticompact = false; for (Range r : normalizedRanges) { - if (r.contains(sstableRange)) + if (r.contains(sstableBounds.left) && r.contains(sstableBounds.right)) { logger.info("SSTable {} fully contained in range {}, mutating repairedAt instead of anticompacting", sstable, r); sstable.descriptor.getMetadataSerializer().mutateRepairedAt(sstable.descriptor, repairedAt); @@ -555,16 +555,16 @@ public class CompactionManager implements CompactionManagerMBean shouldAnticompact = true; break; } - else if (sstableRange.intersects(r)) + else if (r.intersects(sstableBounds)) { - logger.info("SSTable {} ({}) will be anticompacted on range {}", sstable, sstableRange, r); + logger.info("SSTable {} ({}) will be anticompacted on range {}", sstable, sstableBounds, r); shouldAnticompact = true; } } if (!shouldAnticompact) { - logger.info("SSTable {} ({}) does not intersect repaired ranges {}, not touching repairedAt.", sstable, sstableRange, normalizedRanges); + logger.info("SSTable {} ({}) does not intersect repaired ranges {}, not touching repairedAt.", sstable, sstableBounds, normalizedRanges); nonAnticompacting.add(sstable); sstableIterator.remove(); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/334dca9a/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java b/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java index 7c3fbc2..c451516 100644 --- a/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/AntiCompactionTest.java @@ -262,7 +262,7 @@ public class AntiCompactionTest ColumnFamilyStore store = prepareColumnFamilyStore(); Collection sstables = store.getUnrepairedSSTables(); assertEquals(store.getSSTables().size(), sstables.size()); - Range range = new Range(new BytesToken("0".getBytes()), new BytesToken("9999".getBytes())); + Range range = new Range(new BytesToken("/".getBytes()), new BytesToken("9999".getBytes())); List> ranges = Arrays.asList(range); try (LifecycleTransaction txn = store.getTracker().tryModify(sstables, OperationType.ANTICOMPACTION); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org For additional commands, e-mail: commits-help@cassandra.apache.org