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 <bdeggles...@gmail.com> Authored: Mon Feb 13 15:06:17 2017 -0800 Committer: Blake Eggleston <bdeggles...@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)); }