[ https://issues.apache.org/jira/browse/HBASE-20565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16549138#comment-16549138 ]
Ted Yu commented on HBASE-20565: -------------------------------- What I meant is to use instanceof checks against ColumnRangeFilter and ColumnPaginationFilter classes when MUST_PASS_ALL is specified for FilterList. We can adjust the order of the column filters to conform to: bq. ColumnPaginationFilter should be placed after ColumnRangeFilter This way, bq. FilterList(MUST_PASS_ALL, ColumnPaginationFilter(5, 1), ColumnRangeFilter(1, true, 9, false)) would still work. > 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)