You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Zheng Hu (JIRA)" <ji...@apache.org> on 2017/09/13 09:56:00 UTC
[jira] [Updated] (HBASE-18160) Fix incorrect logic in
FilterList.filterKeyValue
[ https://issues.apache.org/jira/browse/HBASE-18160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zheng Hu updated HBASE-18160:
-----------------------------
Attachment: HBASE-18160.v4.patch
> Fix incorrect logic in FilterList.filterKeyValue
> -------------------------------------------------
>
> Key: HBASE-18160
> URL: https://issues.apache.org/jira/browse/HBASE-18160
> Project: HBase
> Issue Type: Sub-task
> Reporter: Zheng Hu
> Assignee: Zheng Hu
> Attachments: filter-and-map.txt, filter-or-map.txt, HBASE-18160.branch-1.1.v1.patch, HBASE-18160.branch-1.v1.patch, HBASE-18160.v1.patch, HBASE-18160.v2.patch, HBASE-18160.v2.patch, HBASE-18160.v3.patch, HBASE-18160.v4.patch
>
>
> As HBASE-17678 said, there are two problems in FilterList.filterKeyValue implementation:
> 1. FilterList did not consider INCLUDE_AND_SEEK_NEXT_ROW case( seems like INCLUDE_AND_SEEK_NEXT_ROW is a newly added case, and the dev forgot to consider FilterList), So if a user use INCLUDE_AND_SEEK_NEXT_ROW in his own Filter and wrapped by a FilterList, it'll throw an IllegalStateException("Received code is not valid.").
> 2. For FilterList with MUST_PASS_ONE, if filter-A in filter list return INCLUDE and filter-B in filter list return INCLUDE_AND_NEXT_COL, the FilterList will return INCLUDE_AND_NEXT_COL finally. According to the mininal step rule , It's incorrect. (filter list with MUST_PASS_ONE choose the mininal step among filters in filter list. Let's call it: The Mininal Step Rule).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)