Hello! I am using an OrderPreservingPartitioner and sequential UUID's as keys. When I use get_range I frequently get an error indicating that my start key is not before or equal to my finish key, which seems impossible. The code to request slices looks like this:
sometime = Time.now a = UUIDTools::UUID.timestamp_create(sometime) b = UUIDTools::UUID.timestamp_create(sometime + 1) slice = @cassandra.get_range(:ReportData, :start => a.to_s, :finish => b.to_s) puts "SORT ERROR!" if a >= b # this never displays This is the error I get: /usr/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/../vendor/gen-rb/cassandra.rb:152:in `recv_get_range_slices': start key must sort before (or equal to) finish key in your partitioner! (CassandraThrift::InvalidRequestException) from /usr/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/../vendor/gen-rb/cassandra.rb:142:in `get_range_slices' from /usr/lib/ruby/gems/1.8/gems/thrift_client-0.4.0/lib/thrift_client.rb:140:in `send' from /usr/lib/ruby/gems/1.8/gems/thrift_client-0.4.0/lib/thrift_client.rb:140:in `proxy' from (eval):1:in `get_range_slices' from /usr/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/cassandra/protocol.rb:78:in `_get_range' from /usr/lib/ruby/gems/1.8/gems/cassandra-0.8.2/lib/cassandra/cassandra.rb:230:in `get_range' from ./read.rb:29:in `get_range' from ./read.rb:62 from ./read.rb:58:in `loop' from ./read.rb:58