Zheng Hu created HBASE-18160:
--------------------------------

             Summary: Fix incorrect  logic in FilterList.filterKeyValue
                 Key: HBASE-18160
                 URL: https://issues.apache.org/jira/browse/HBASE-18160
             Project: HBase
          Issue Type: Bug
            Reporter: Zheng Hu
            Assignee: Zheng Hu


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 uses 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.3.15#6346)

Reply via email to