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

jirapos...@reviews.apache.org commented on HBASE-4410:
------------------------------------------------------



bq.  On 2011-09-14 22:22:06, Lars Hofhansl wrote:
bq.  > /src/main/java/org/apache/hadoop/hbase/filter/FilterList.java, line 199
bq.  > <https://reviews.apache.org/r/1908/diff/1/?file=40598#file40598line199>
bq.  >
bq.  >     You could break here, no?
bq.  >     There will never be more restrictive filter among the other filters.

Another part of the changes here is ensuring that filterKeyValue() gets called 
on every filter, regardless of what the other filters are returning.  
Otherwise, filters down the list will have indeterminate behavior.


- Jonathan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1908/#review1899
-----------------------------------------------------------


On 2011-09-14 21:52:34, Jonathan Gray wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1908/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-09-14 21:52:34)
bq.  
bq.  
bq.  Review request for hbase, Dhruba Borthakur, Michael Stack, Prakash 
Khemani, and Kannan Muthukkaruppan.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  FilterList.filterKeyValue does not always return the most optimal 
ReturnCode in both the AND and OR conditions.
bq.  
bq.  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.
bq.  
bq.  For AND conditions, we can always pick the most restrictive return code.
bq.  
bq.  For OR conditions, we must always pick the least restrictive return code.
bq.  
bq.  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.
bq.  
bq.  
bq.  This addresses bug HBASE-4410.
bq.      https://issues.apache.org/jira/browse/HBASE-4410
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /src/main/java/org/apache/hadoop/hbase/filter/Filter.java 1170860 
bq.    /src/main/java/org/apache/hadoop/hbase/filter/FilterList.java 1170860 
bq.    /src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java 
1170860 
bq.  
bq.  Diff: https://reviews.apache.org/r/1908/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  Adds new tests to TestFilterList.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Jonathan
bq.  
bq.



> 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

        

Reply via email to