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.

Reply via email to