hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6757) Very inefficient behaviour of scan using FilterList
Date Tue, 11 Sep 2012 16:05:07 GMT

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

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

As long as FilterList does the right thing it should be transparent, right?
Now, if somebody wrote their own filter that wraps a FilterList, then the behavior might be
changed slightly. Then again, there FilterList.filterKeyValue can already return other codes
(NEXT_COL, SEEK_NEXT_USING_HINT, etc), which the wrapper would have to deal with.

So I think the change is fine. I'll let some of my fellow committers comment on this too.
                
> 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

Mime
View raw message