I'm having just a little bit of trouble getting data out of Cassandra. The main problem is this exception:
ERROR 15:45:07,037 Internal error processing get_range_slices
java.lang.AssertionError: (162293240116362681726824838407749997815,35552186147124906726154103286687761342]
at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1251)
at org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:428)
at org.apache.cassandra.thrift.CassandraServer.get_range_slices(CassandraServer.java:513)
at org.apache.cassandra.thrift.Cassandra$Processor$get_range_slices.process(Cassandra.java:2868)
at org.apache.cassandra.thrift.Cassandra$Processor.process(Cassandra.java:2555)
at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:167)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
So what do I do? I use describe_ring to get the topology of the network, then I ask each of the nodes in the network describe_splits which gives me the tokens I should use to fetch the ranges, and then I just start asking for them, making sure that I set the start_token and end_token on the keyranges.
Any ideas?