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

Lars Hofhansl commented on HBASE-9717:
--------------------------------------

Hmm... filterKeyValue is called for each KV, though (unless you filter the row 
and return a seek hint).
So if the row is included there is no penalty (provided you implement the 
filter correctly) since filterKeyValue is called for each KV in any event; if 
the row is not to be include filterKeyValue can decide so after seeing the 
first KV.

Also - currently - we read whole KVs (key/ts/etc and value) at the server, 
although that will hopefully change in the future.

If there's a case that cannot be efficiently be implemented with filterKeyValue 
and seek hints, I'd like to see that.


> Allow filterRowKey to return a next key hint
> --------------------------------------------
>
>                 Key: HBASE-9717
>                 URL: https://issues.apache.org/jira/browse/HBASE-9717
>             Project: HBase
>          Issue Type: New Feature
>          Components: Filters
>            Reporter: Mathias Herberts
>
> The Filter interface has a filterRowKey method which returns a boolean set to 
> true if the given row key should be filtered out.
> When a row key is filtered, it could be interesting to be able to provide the 
> scanner a hint about the next row key which should be examined. This could 
> tremendously speed up scanning in some cases.
> The logic could be similar to that of filterKeyValue with a helper method 
> getNextRowKeyHint, or even simpler, filterRowKey could return a byte[] which 
> would be set to null to mean keep the row, to the empty array to mean filter 
> the row and there is not hint, and to a non empty byte array to mean filter 
> the row and here is a hint about the next key that should be scanned.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to