[ 
https://issues.apache.org/jira/browse/HBASE-8362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13634546#comment-13634546
 ] 

Lars Hofhansl commented on HBASE-8362:
--------------------------------------

Doing this via a custom filter is possible. Currently, though, you cannot have 
different filters in different regions (i.e. all Gets would have to be passed 
to every filter materialized in every region); at least I do not see a way to 
do that.

The problem with reseek is that it does not necessarily seek to an existing 
row. Say you have row1 and row3 in a table and now you issue a get for row2. 
You'd reseek to row2, which would place the scanner just before row3, the next 
call to next() would return row3, which is not what you want; hence we'd either 
have know whether the reseek found an existing row (in which case next will 
return the one we want) or we need to check the result from next() (and if the 
row key does not match we are this work for nothing).

The other question is around bloom filters, which currently are only checked 
for get scans.

                
> 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

Reply via email to