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

Lars Hofhansl commented on HBASE-7010:
--------------------------------------

The tricky is in FilterList.filterRowKey vs FilterList.filterKeyValue.

Notice that FilterList.filterRowKey short circuits: If one filter passed in 
MUST_PASS_ONE mode or does not pass in MUST_PASS_ALL mode that method returns 
immediately without giving the other filters a chance to be evaluated.

FilterList.filterKeyValue does not short circuit... In the MUST_PASS_ONE case, 
but it does in the MUST_PASS_ALL case. W. T. F.?!

So now that PrefixFilter has the filterKeyValue method implemented the behavior 
is subtly different. (TestFilterList uses a PageFilter and PrefixFilter wrapped 
in a WhileMatchFilter).

                
> PrefixFilter should seek to first matching row
> ----------------------------------------------
>
>                 Key: HBASE-7010
>                 URL: https://issues.apache.org/jira/browse/HBASE-7010
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>            Priority: Minor
>             Fix For: 0.96.0, 0.94.4
>
>         Attachments: 7010.txt
>
>
> Currently a PrefixFilter will happily scan all KVs < prefix.
> If should seek forward to the prefix if the current KV < prefix.

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