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 >