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

Anoop Sam John commented on HBASE-19057:
----------------------------------------

[~openinx]  Checked the test case and got it..  So the order of filter methods 
invocation- This is being used by filters like PrefixFilter. Only at 
filterRowKey, the prefix is been checked.  So if we change this now , it will 
be big behave change.  So better dont do this.  Checking the old code, seems 
even for AND filter, we were not doing the bypass.
{code}
for (int i = 0; i < listize; i++) {
      Filter filter = filters.get(i);
      if (this.operator == Operator.MUST_PASS_ALL) {
        if (filter.filterAllRemaining() || filter.filterRowKey(firstRowCell)) {
          flag = true;
        }
      } else if (this.operator == Operator.MUST_PASS_ONE) {
        if (!filter.filterAllRemaining() && !filter.filterRowKey(firstRowCell)) 
{
          flag = false;
        }
      }
    }
    return flag;
{code}
So we better not change even that.  Pls add some fat comments here saying why 
we are not doing the short circuit return path.

> Merge branch HBASE-18410 to master branch
> -----------------------------------------
>
>                 Key: HBASE-19057
>                 URL: https://issues.apache.org/jira/browse/HBASE-19057
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Filters
>            Reporter: Zheng Hu
>            Assignee: Zheng Hu
>            Priority: Blocker
>             Fix For: 2.0.0-alpha-4
>
>         Attachments: HBASE-19057-HBASE-18410.v1.patch
>
>
> Open this issue to  fix conflict , run HadoopQA  and gather other feedback. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to