diff --git a/src/java/org/apache/cassandra/dht/Bounds.java b/src/java/org/apache/cassandra/dht/Bounds.java index b5633c81a8..c6378a7c51 100644 --- a/src/java/org/apache/cassandra/dht/Bounds.java +++ b/src/java/org/apache/cassandra/dht/Bounds.java @@ -47,10 +47,10 @@ public class Bounds extends AbstractBounds public boolean contains(T position) { - // Range.contains doesnt work correctly if left == right because for - // Range that means a wrapping range that select the whole ring. So we - // must explicitely handle this case - return left.equals(position) || (!left.equals(right) && Range.contains(left, right, position)); + // Range.contains doesnt work correctly if left == right (unless both + // are minimum) because for Range that means a wrapping range that select + // the whole ring. So we must explicitely handle this case + return left.equals(position) || ((right.isMinimum(partitioner) || !left.equals(right)) && Range.contains(left, right, position)); } public Pair, AbstractBounds> split(T position)