On Jun 4, 2010, at 4:46 PM, Jonathan Ellis wrote:

> get_slice reads a single row.  do you mean there are 23,000 columns,
> or are you running get_slice in a loop 23000 times?

Hi Jonathan, thanks for answering!

No, I do only one get_slice call.

There are 23.000 SUPER columns, which I read using get_slice with ColumnParent 
parameter set to only CF name (Dashboard) and a SlicePredicate, that has "" for 
begin on super column name and "" for end on super column name.

So, I do one single get_slice to get all the super-columns. This is the thrift 
call, that takes approx. 6-8 secs.

I then iterate over this after the call, to extract columns for each 
super-column, but that is not in my timings and it also performs no thrift 
calls.

Like this:

>>  ColumnParent parent = new ColumnParent("Dashboard");
>> 
>>  SlicePredicate predicate = new SlicePredicate();
>>  SliceRange sliceRange = new SliceRange();
>>  sliceRange.setCount(Integer.MAX_VALUE);
>>  sliceRange.setStart(toRawValue(""));
>>  sliceRange.setFinish(toRawValue(""));
>>  predicate.setSlice_range(sliceRange);
>> 
>>  // timing this takes 6-8 secs.
>>  return client.get_slice(
>>   "keyspace",
>>   "theusername",
>>   columnParent,
>>   slicePredicate,
>>   ConsistencyLevel.QUORUM
>>  );

Reply via email to