[
https://issues.apache.org/jira/browse/HBASE-8362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13659247#comment-13659247
]
Lars Hofhansl commented on HBASE-8362:
--------------------------------------
We either have to guarantee and all gets have:
* the same filter(s)
* the same time range
* the same column families
* the same set of columns
or (as Varun and Nicholas suggest) have a new API.
I now prefer the new API.
Some options:
* A completely new API taking Scan object along with a set or rowkeys to hit.
* More state on the Scan object itself (a set of rows to hit, rather just
start/stop row)
* An API taking a prototypical Get object along with a set of rowkeys
* A new API taking a set of Gets all of which will be forced to be identical in
the attributes mentioned above.
In terms of executing we would want to avoid sending all rowkeys to every
region. So the client would break the set of row keys by region boundaries
(similar to what it now does for a set of Gets) and then hit the right region
server with a subset of the keys.
Another option is to have a new "MultiRowFilter", which would do seeks between
rows to hit. The client would prepare a filter for each region in question, and
pass that along with the Scan to each region (again each serialized filter
would only have the subset of the keys for the region in question). Note that
we just provide such a MultiRowFilter, this can already be done today with some
client side code.
> Possible MultiGet optimization
> ------------------------------
>
> Key: HBASE-8362
> URL: https://issues.apache.org/jira/browse/HBASE-8362
> Project: HBase
> Issue Type: Bug
> Reporter: Lars Hofhansl
>
> Currently MultiGets are executed on a RegionServer in a single thread in a
> loop that handles each Get separately (opening a scanner, seeking, etc).
> It seems we could optimize this (per region at least) by opening a single
> scanner and issue a reseek for each Get that was requested.
> I have not tested this yet and no patch, but I would like to solicit feedback
> on this idea.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira