incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajat Chopra <rcho...@makara.com>
Subject get_range_slices does not work properly
Date Thu, 16 Dec 2010 05:45:12 GMT
Hi!
   Using v0.6.6, I have a 16 node cluster.
One column family has 16 keys(corresponding to node number) but only 9 get listed with get_range_slices
with a predicate and a key_range with empty start and end.
When I do a get_slice with one of the keys that I know is there (but not listed by get_range_slices)
I do get the column slice.

This happens with CL.ALL !

Sample code (python):

cp = ColumnParent('summary')
col_slice = SliceRange(start="", finish="", count=500)
predicate = SlicePredicate(slice_range=col_slice)
keyrange = KeyRange(start_key="", end_key="")
slices = client.get_range_slices('cf_name', cp, predicate, keyrange, ConsistencyLevel.ALL)
print "Found following rows : \n    %s"  %  [k.key for k in slices]

>> This prints the following ->
Found following rows:
    ['3', '5', '12', '9', '14', '4', '15', '11', '7']
>> I was expecting ->
   ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16']
or some byte sorted order.

>> Now this code ->

slice1 = s.client.get_slice('cf_name', '1', cp, predicate, ConsistencyLevel.ALL)
print  "found  column for key 1 = %s"  %  struct.unpack("!Q", slice1[0].column.name)[0]

>> It prints what I expected:
found  column for key 1 = 1292454020 ('1292454020' is some column name which is good)



Also, when I do a nodetool ring, I see only 15 nodes instead of 16, even from the node that
is not listed.

Please help.
Thanks,
Rajat


Mime
View raw message