[
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)