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

Liang Xie commented on HBASE-8555:
----------------------------------

bq. Patch makes sense. Good example and a very good testcase. So you will 
iterate the sublist tree so that all the filters that has filterRowKey() passes 
through and finally decide if to include it or no

yes, absolutely correct:)

                
> FilterList correctness was dominated by sub-filter(list) ordering randomly
> --------------------------------------------------------------------------
>
>                 Key: HBASE-8555
>                 URL: https://issues.apache.org/jira/browse/HBASE-8555
>             Project: HBase
>          Issue Type: Bug
>          Components: Filters
>    Affects Versions: 0.94.3
>            Reporter: Liang Xie
>            Assignee: Liang Xie
>            Priority: Critical
>         Attachments: 8555-trunk-v1.txt, HBASE-8555-0.94.txt
>
>
> say, ther're 10 rows, column value is i%2:
> row0 0
> row1 1
> row2 0
> row3 1
> row4 0
> row5 1
> row6 0
> row7 1
> row8 0
> row9 1
> 1: filter : row filter > row4   ===> row5 row6 row7 row8 row9
> 2: subFilterList:  row filter <= row4 && column==0    ===> row0 row2 row4
> 3.1 filterlist[expected]   filter || subFilterList  ===> row0 row2 row4 row5 
> row6 row7 row8 row9
> 3.2 filterlist[BUGON!]  subFilterList || filter ===> row0 row1 row2 row3 row4 
> row5 row6 row7 row8 row9
> (Please refer to the new testNestedFilterListWithSCVF case)
> It was found when i managed to transform the following SQL into HBase scan 
> statement: 
> select xxx from xxx where (pk <= xxx and column1 = xxx) or pk > xxx
> My finding is that we had an assumption for filter methods call sequence:
> e.g. filterRowKey() should be called before filterKeyValue().
> and the orignial filterList.filterRowKey impl broke it due to fast 
> short-circuit returning.

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