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

Reply via email to