[
https://issues.apache.org/jira/browse/HBASE-4410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13104919#comment-13104919
]
[email protected] commented on HBASE-4410:
------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1908/
-----------------------------------------------------------
Review request for hbase, Dhruba Borthakur, Michael Stack, Prakash Khemani, and
Kannan Muthukkaruppan.
Summary
-------
FilterList.filterKeyValue does not always return the most optimal ReturnCode in
both the AND and OR conditions.
For example, if you have F1 AND F2, F1 returns SKIP. It immediately returns the
SKIP. However, if F2 would have returned NEXT_COL or NEXT_ROW or
SEEK_NEXT_USING_HINT, we would actually be able to return the more optimal
ReturnCode from F2.
For AND conditions, we can always pick the most restrictive return code.
For OR conditions, we must always pick the least restrictive return code.
This JIRA is to review the FilterList.filterKeyValue() method to try and make
it more optimal and to add a new unit test which verifies the correct behavior.
This addresses bug HBASE-4410.
https://issues.apache.org/jira/browse/HBASE-4410
Diffs
-----
/src/main/java/org/apache/hadoop/hbase/filter/Filter.java 1170860
/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java 1170860
/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java 1170860
Diff: https://reviews.apache.org/r/1908/diff
Testing
-------
Adds new tests to TestFilterList.
Thanks,
Jonathan
> FilterList.filterKeyValue can return suboptimal ReturnCodes
> -----------------------------------------------------------
>
> Key: HBASE-4410
> URL: https://issues.apache.org/jira/browse/HBASE-4410
> Project: HBase
> Issue Type: Improvement
> Components: filters
> Reporter: Jonathan Gray
> Assignee: Jonathan Gray
> Priority: Minor
> Fix For: 0.92.0
>
> Attachments: HBASE-4410-v1.patch
>
>
> FilterList.filterKeyValue does not always return the most optimal ReturnCode
> in both the AND and OR conditions.
> For example, if you have F1 AND F2, F1 returns SKIP. It immediately returns
> the SKIP. However, if F2 would have returned NEXT_COL or NEXT_ROW or
> SEEK_NEXT_USING_HINT, we would actually be able to return the more optimal
> ReturnCode from F2.
> For AND conditions, we can always pick the *most restrictive* return code.
> For OR conditions, we must always pick the *least restrictive* return code.
> This JIRA is to review the FilterList.filterKeyValue() method to try and make
> it more optimal and to add a new unit test which verifies the correct
> behavior.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira