You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2013/05/22 19:47:20 UTC
[jira] [Commented] (HBASE-8555) FilterList correctness may be
affected by random ordering of sub-filter(list)
[ https://issues.apache.org/jira/browse/HBASE-8555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13664325#comment-13664325 ]
Ted Yu commented on HBASE-8555:
-------------------------------
Integrated to 0.95 and trunk.
Waiting for test suite result (local run) on 0.94
Thanks for the patch, Liang.
> FilterList correctness may be affected by random ordering of sub-filter(list)
> -----------------------------------------------------------------------------
>
> 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, HBASE-8555-0.94-v2.txt, HBASE-8555-0.94-v3.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