You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by bd...@apache.org on 2017/02/14 02:18:25 UTC

cassandra git commit: fix minor bugs related to CASSANDRA-9143 patch by Blake Eggleston; reviewed by Jeff Jirsa for CASSANDRA-13217

Repository: cassandra
Updated Branches:
  refs/heads/trunk edcbef3e3 -> 3f3db2d40


fix minor bugs related to CASSANDRA-9143
patch by Blake Eggleston; reviewed by Jeff Jirsa for CASSANDRA-13217


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3f3db2d4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3f3db2d4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3f3db2d4

Branch: refs/heads/trunk
Commit: 3f3db2d40d6b5edbf079b917953a30bcc1209d25
Parents: edcbef3
Author: Blake Eggleston <bd...@gmail.com>
Authored: Mon Feb 13 15:06:17 2017 -0800
Committer: Blake Eggleston <bd...@gmail.com>
Committed: Mon Feb 13 18:16:41 2017 -0800

----------------------------------------------------------------------
 .../cassandra/db/compaction/CompactionStrategyManager.java      | 5 +++--
 .../org/apache/cassandra/io/sstable/format/SSTableReader.java   | 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3f3db2d4/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java
index 0ccdb49..9397708 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionStrategyManager.java
@@ -840,14 +840,15 @@ public class CompactionStrategyManager implements INotificationConsumer
         boolean repaired = firstSSTable.isRepaired();
         int firstIndex = getCompactionStrategyIndex(cfs, directories, firstSSTable);
         boolean isPending = firstSSTable.isPendingRepair();
+        UUID pendingRepair = firstSSTable.getSSTableMetadata().pendingRepair;
         for (SSTableReader sstable : input)
         {
             if (sstable.isRepaired() != repaired)
                 throw new UnsupportedOperationException("You can't mix repaired and unrepaired data in a compaction");
             if (firstIndex != getCompactionStrategyIndex(cfs, directories, sstable))
                 throw new UnsupportedOperationException("You can't mix sstables from different directories in a compaction");
-            if (isPending != sstable.isPendingRepair())
-                throw new UnsupportedOperationException("You can't compact sstables pending for repair with non-pending ones");
+            if (isPending && !pendingRepair.equals(sstable.getSSTableMetadata().pendingRepair))
+                throw new UnsupportedOperationException("You can't compact sstables from different pending repair sessions");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3f3db2d4/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index 716b27d..f9f6f5f 100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@ -50,6 +50,7 @@ import org.apache.cassandra.db.filter.ColumnFilter;
 import org.apache.cassandra.db.rows.EncodingStats;
 import org.apache.cassandra.db.rows.UnfilteredRowIterator;
 import org.apache.cassandra.dht.AbstractBounds;
+import org.apache.cassandra.dht.Bounds;
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
 import org.apache.cassandra.io.FSError;
@@ -1758,7 +1759,7 @@ public abstract class SSTableReader extends SSTable implements SelfRefCounted<SS
 
     public boolean intersects(Collection<Range<Token>> ranges)
     {
-        Range<Token> range = new Range<>(first.getToken(), last.getToken());
+        Bounds<Token> range = new Bounds<>(first.getToken(), last.getToken());
         return Iterables.any(ranges, r -> r.intersects(range));
     }