diff --git a/CHANGES.txt b/CHANGES.txt index 61bcf603aa..1ad77b1b35 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * fix saved key cache not loading at startup (CASSANDRA-5166) * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170) * fix sstable maxtimestamp for row deletes and pre-1.1.1 sstables (CASSANDRA-5153) + * fix start key/end token validation for wide row iteration (CASSANDRA-5168) 1.1.9 diff --git a/src/java/org/apache/cassandra/thrift/ThriftValidation.java b/src/java/org/apache/cassandra/thrift/ThriftValidation.java index bc64018e21..4f40938e73 100644 --- a/src/java/org/apache/cassandra/thrift/ThriftValidation.java +++ b/src/java/org/apache/cassandra/thrift/ThriftValidation.java @@ -511,7 +511,7 @@ public class ThriftValidation { // start_token/end_token can wrap, but key/token should not RowPosition stop = p.getTokenFactory().fromString(range.end_token).maxKeyBound(p); - if (RowPosition.forKey(range.start_key, p).compareTo(stop) > 0) + if (RowPosition.forKey(range.start_key, p).compareTo(stop) > 0 && !stop.isMinimum()) throw new InvalidRequestException("Start key's token sorts after end token"); }