2011/11/4 Filipe Gonçalves <the.wa.syndr...@gmail.com>:
> Multiget slice queries seem to fetch rows sequentially, at least
> fromwhat I understood of the sources. This means the node that
> receives amultiget of N keys does N get operations to the other nodes
> in thecluster to fetch the remaining keys.
> Am I right? Is this the way multiget works internally?

The 'sequentially' is probably not right depending on what you meant
by that (see below) but otherwise yes, a multiget of N keys is internally
splitted into N gets.

> Also, shouldn't this be done in parallel, to avoid contacting
> nodesmore than once?

It's done in parallel, in that the coordinating nodes send all the get
requests in parallel. It doesn't wait for the result to the first get to
issue the second one. But it does do every get separately, i.e. it may
contact the same note multiple times.

In theory we could do with at most one message to each node for each
multiget. We don't do it because it would actually require quite a bit of
change in the current code and it's unclear it would really buy us much.
Since we already parallelize requests, we would mostly win a bit on network
traffic (by merging messages) but there is good chance this is unsignificant
(of course I could be wrong given we haven't tried).

--
Sylvain

> --
> Filipe Gonçalves
>

Reply via email to