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