incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiller, Dean" <>
Subject Re: multiget_slice SlicePredicate
Date Tue, 11 Dec 2012 14:03:51 GMT
Each node is doing it's thing in parallel….they on purpose do NOT co-ordinate as they do
not need to so each one is doing it's scan on the rows it has individually.

If all rows "happen" to be on the same server, sure some may be done sequentially depending
on number of rows vs. thread pool size.

As far as a single row is concerned, I know mutations to a single row are serialised as Aaron
has said as much but you are talking about multiple rows here.


From: Wei Zhu <<>>
Reply-To: "<>" <<>>,
Wei Zhu <<>>
Date: Monday, December 10, 2012 3:15 PM
To: Cassandr usergroup <<>>
Subject: Re: multiget_slice SlicePredicate

Well, not sure how parallel is multiget. Someone is saying it's in parallel sending requests
to the different nodes and on each node it's executed sequentially. I didn't bother looking
into the source code yet. Anyone knows it for sure?

I am using Hector, just copied the thrift definition from Cassandra site for reference.

You are right, the count is for each individual row.


From: "Hiller, Dean" <<>>
To: "<>" <<>>;
Wei Zhu <<>>
Sent: Monday, December 10, 2012 1:13 PM
Subject: Re: multiget_slice SlicePredicate

What's wrong with multiget…parallel performance is great from multiple disks and so usually
that is a good thing.

Also, something looks wrong, since you have list<binary> keys, I would expect the Map
to be Map<binary, list<ColumnOrSuperColumn>>

Are you sure you have that correct?  IF you set range to 100, it should be 100 columns each
row but it never hurts to run the code and verify.

PlayOrm Developer

From: Wei Zhu <<><<>>>
Reply-To: "<><<>>"
Wei Zhu <<><<>>>
Date: Monday, December 10, 2012 2:07 PM
To: Cassandr usergroup <<><<>>>
Subject: multiget_slice SlicePredicate

I know it's probably not a good idea to use multiget, but for my use case, it's the only choice,

I have question regarding the SlicePredicate argument of the multiget_slice

The SlicePredicate takes slice_range which takes start, end and range. I suppose start and
end will apply to each individual row. How about range, is it a accumulative column count
of all the rows or to the individual row?
If I set range to 100, is it 100 columns per row, or total?

Thanks for you reply,


map<string,list<ColumnOrSuperColumn>> multiget_slice(list<binary> keys,
ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)

View raw message