Does this help ? http://wiki.apache.org/cassandra/FAQ#range_rp
Cheers ----------------- Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 17/01/2012, at 10:58 AM, Philippe wrote: > Hello, > I've been trying to retrieve rows based on key range but every single time I > test, Hector retrieves ALL the rows, no matter the range I give it. > What can I possibly be doing wrong ? Thanks. > > I'm doing a test on a single-node RF=1 cluster (c* 1.0.5) with one column > family (I've added & truncated the CF quite a few times during my tests). > Each row has a single column whose name is the byte value "2". The keys are > 0,1,2,3 (shifted by a number of bits). The values are 0,1,2,3. > list in the CLI gives me > > Using default limit of 100 > ------------------- > RowKey: 000000000000000002 > => (column=02, value=00, timestamp=1326750723079000) > ------------------- > RowKey: 010000000000000002 > => (column=02, value=01, timestamp=1326750723239000) > ------------------- > RowKey: 020000000000000002 > => (column=02, value=02, timestamp=1326750723329000) > ------------------- > RowKey: 030000000000000002 > => (column=02, value=03, timestamp=1326750723416000) > > 4 Rows Returned. > > > > Hector code: > RangeSlicesQuery<TileKey,Byte,byte[]> query = > HFactory.createRangeSlicesQuery(keyspace, keySerializer, > columnNameSerializer, BytesArraySerializer > .get()); > query.setColumnFamily(overlay).setKeys(keyStart, > keyEnd).setColumnNames((byte)2); > query.execute(); > > > The execution log shows > > > 1359 [main] INFO com.sensorly.heatmap.drawing.cassandra.CassandraTileDao - > Range query from TileKey [overlayName=UNSET, tilex=0, tiley=0, zoom=2] to > TileKey [overlayName=UNSET, tilex=1, tiley=0, zoom=2] => morton codes = > [000000000000000002,010000000000000002] > getFiles() query returned TileKey [overlayName=UNSET, tilex=0, tiley=0, > zoom=2] with 1 columns, morton = 000000000000000002 > getFiles() query returned TileKey [overlayName=UNSET, tilex=1, tiley=0, > zoom=2] with 1 columns, morton = 010000000000000002 > getFiles() query returned TileKey [overlayName=UNSET, tilex=0, tiley=1, > zoom=2] with 1 columns, morton = 020000000000000002 > getFiles() query returned TileKey [overlayName=UNSET, tilex=1, tiley=1, > zoom=2] with 1 columns, morton = 030000000000000002 > => ALL rows are returned when I really expect it to only return the 1st one. > > > > >