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

Lars Hofhansl commented on HBASE-6757:
--------------------------------------

The case Jerry mentions is not a problem. "A filterlist of a filterlist of a 
filterlist, etc" will work fine.

Also see this code FilterList.filterKeyValue:
{code}
      if (operator == Operator.MUST_PASS_ALL) {
        if (filter.filterAllRemaining()) {
          return ReturnCode.NEXT_ROW;
        }
{code}
So it is already possible now that FilterList.filterKeyValue return NEXT_ROW 
and hence calling code must deal with it.

Definitely fine for 0.96, but I'm cool with this in 0.94 as well.
                
> Very inefficient behaviour of scan using FilterList
> ---------------------------------------------------
>
>                 Key: HBASE-6757
>                 URL: https://issues.apache.org/jira/browse/HBASE-6757
>             Project: HBase
>          Issue Type: Improvement
>          Components: filters
>    Affects Versions: 0.90.6
>            Reporter: Jerry Lam
>         Attachments: 6757.txt, CopyOfTestColumnPrefixFilter.java, 
> DisplayFilter.java
>
>
> The behaviour of scan is very inefficient when using with FilterList.
> The FilterList rewrites the return code from NEXT_ROW to SKIP from a filter 
> if Operator.MUST_PASS_ALL is used. 
> This happens when using ColumnPrefixFilter. Even though the 
> ColumnPrefixFilter indicates to jump to NEXT_ROW because no further match can 
> be found, the scan continues to scan all versions of a column in that row and 
> all columns of that row because the ReturnCode from ColumnPrefixFilter has 
> been rewritten by the FilterList from NEXT_ROW to SKIP. 
> This is particularly inefficient when there are many versions in a column 
> because the check is performed on all versions of the column instead of just 
> by checking the qualifier of the column name.

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