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

Zheng Hu commented on HBASE-20565:
----------------------------------

Only for those filters who maintain some row-global state such as offset/count, 
 it will be order dependence...otherwise, it's still order independence.

Just as I said before, user will write SQL like : select * from test where x = 
1 and y < 10  limit 0, 100 (For HBase, limit 0, 100 is also a Filter, 
ColumnPaginationFilter ex), If select * from test  where limit 0, 100 and x = 1 
and y < 10  has the same meaning as the former one, don't you think it's more 
confusing?

> ColumnRangeFilter combined with ColumnPaginationFilter can produce incorrect 
> result since 1.4
> ---------------------------------------------------------------------------------------------
>
>                 Key: HBASE-20565
>                 URL: https://issues.apache.org/jira/browse/HBASE-20565
>             Project: HBase
>          Issue Type: Bug
>          Components: Filters
>    Affects Versions: 2.1.0, 1.4.4, 2.0.0
>            Reporter: Jerry He
>            Assignee: Zheng Hu
>            Priority: Major
>             Fix For: 2.1.0, 1.5.0, 1.4.6, 2.0.2
>
>         Attachments: HBASE-20565.v1.patch, HBASE-20565.v2.patch, debug.diff, 
> debug.log, test-branch-1.4.patch
>
>
> When ColumnPaginationFilter is combined with ColumnRangeFilter, we may see 
> incorrect result.
> Here is a simple example.
> One row with 10 columns c0, c1, c2, .., c9.  I have a ColumnRangeFilter for 
> range c2 to c9.  Then I have a ColumnPaginationFilter with limit 5 and offset 
> 0.  FileterList is FilterList(Operator.MUST_PASS_ALL, ColumnRangeFilter, 
> ColumnPaginationFilter).
> We expect 5 columns being returned.  But in HBase 1.4 and after, 4 columns 
> are returned.
> In 1.2.x, the correct 5 columns are returned.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to