You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Liang Xie (JIRA)" <ji...@apache.org> on 2013/05/16 07:35:16 UTC
[jira] [Created] (HBASE-8555) FilterList correctness was dominated
by sub-filter(list) ordering randomly
Liang Xie created HBASE-8555:
--------------------------------
Summary: 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
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