Repository: cassandra Updated Branches: refs/heads/trunk 5839a4dbe -> b8dd3bd75
Group for anticompaction by the compaction strategy we have. Patch by marcuse; reviewed by yukim for CASSANDRA-8578 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b8dd3bd7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b8dd3bd7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b8dd3bd7 Branch: refs/heads/trunk Commit: b8dd3bd75f61c20350db37b784a667636fb6a24d Parents: 5839a4d Author: Marcus Eriksson <[email protected]> Authored: Thu Jan 8 08:35:44 2015 +0100 Committer: Marcus Eriksson <[email protected]> Committed: Wed Jan 14 08:36:11 2015 +0100 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../cassandra/db/compaction/WrappingCompactionStrategy.java | 5 +++++ .../cassandra/db/compaction/LeveledCompactionStrategyTest.java | 6 +++--- 3 files changed, 9 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8dd3bd7/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index b1f5465..7b0e398 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0 + * Group sstables for anticompaction correctly (CASSANDRA-8578) * Add ReadFailureException to native protocol, respond immediately when replicas encounter errors while handling a read request (CASSANDRA-7886) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8dd3bd7/src/java/org/apache/cassandra/db/compaction/WrappingCompactionStrategy.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/compaction/WrappingCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/WrappingCompactionStrategy.java index 55095a7..9d83a47 100644 --- a/src/java/org/apache/cassandra/db/compaction/WrappingCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/WrappingCompactionStrategy.java @@ -358,6 +358,11 @@ public final class WrappingCompactionStrategy extends AbstractCompactionStrategy return new ScannerList(scanners); } + public Collection<Collection<SSTableReader>> groupSSTablesForAntiCompaction(Collection<SSTableReader> sstablesToGroup) + { + return unrepaired.groupSSTablesForAntiCompaction(sstablesToGroup); + } + public List<AbstractCompactionStrategy> getWrappedStrategies() { return Arrays.asList(repaired, unrepaired); http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8dd3bd7/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java index 1eca4e6..6ea8168 100644 --- a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java @@ -121,10 +121,10 @@ public class LeveledCompactionStrategyTest } waitForLeveling(cfs); - LeveledCompactionStrategy strategy = (LeveledCompactionStrategy) cfs.getCompactionStrategy(); + WrappingCompactionStrategy strategy = (WrappingCompactionStrategy) cfs.getCompactionStrategy(); // Checking we're not completely bad at math - assert strategy.getLevelSize(1) > 0; - assert strategy.getLevelSize(2) > 0; + assert strategy.getSSTableCountPerLevel()[1] > 0; + assert strategy.getSSTableCountPerLevel()[2] > 0; Collection<Collection<SSTableReader>> groupedSSTables = cfs.getCompactionStrategy().groupSSTablesForAntiCompaction(cfs.getSSTables()); for (Collection<SSTableReader> sstableGroup : groupedSSTables)
