diff --git a/src/java/org/apache/cassandra/dht/NormalizedRanges.java b/src/java/org/apache/cassandra/dht/NormalizedRanges.java index c9a040a6585b..2ed17b456393 100644 --- a/src/java/org/apache/cassandra/dht/NormalizedRanges.java +++ b/src/java/org/apache/cassandra/dht/NormalizedRanges.java @@ -48,12 +48,12 @@ public class NormalizedRanges> extends AbstractList 0 & !rangeRightIsMin) return -1; return 0; }; diff --git a/test/unit/org/apache/cassandra/dht/RangeTest.java b/test/unit/org/apache/cassandra/dht/RangeTest.java index 4c071f3a2637..ec0881541f00 100644 --- a/test/unit/org/apache/cassandra/dht/RangeTest.java +++ b/test/unit/org/apache/cassandra/dht/RangeTest.java @@ -860,6 +860,25 @@ else if (ii > 80 && ii <= 90) assertEquals(emptyList(), maxLongRange.subtract(ranges)); } + @Test + @UseMurmur3Partitioner + public void testNormalizedRangesWithMinToken() + { + Token min = t(Long.MIN_VALUE); + + for (NormalizedRanges ranges : ImmutableList.of( + normalizedRanges(ImmutableList.of(r(Long.MIN_VALUE, Long.MIN_VALUE))), + normalizedRanges(ImmutableList.of(r(Long.MIN_VALUE, 100))), + normalizedRanges(ImmutableList.of(r(100, Long.MIN_VALUE))), + normalizedRanges(ImmutableList.of(r(-500, -100), r(100, 500))), + normalizedRanges(ImmutableList.of(r(Long.MIN_VALUE, -100), r(100, 500))), + normalizedRanges(ImmutableList.of(r(Long.MIN_VALUE, -100), r(100, Long.MIN_VALUE))), + normalizedRanges(ImmutableList.of(r(100, 500))))) + { + assertEquals(Range.isInRanges(min, ranges), ranges.intersects(min)); + } + } + @Test public void testExpensiveChecksBurn() {