HBase
  1. HBase
  2. HBASE-3191

FilterList with MUST_PASS_ONE and SCVF isn't working

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 0.89.20100924, 0.90.0
    • Fix Version/s: 0.90.0
    • Component/s: Filters
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      In a special case the FilterList with MUST_PASS_ONE operator doesn't work correctly:

      • a filter in the list is a SingleColumValueFilter with filterIfMissing=true
      • FilterList.filterKeyValue(KeyValue) is called
      • SingleColumValueFilter.filterKeyValue(KeyValue) is called
      • SingleColumValueFilter.filterKeyValue(KeyValue) returns ReturnCode.INCLUDE if the KeyValue doesn't match a column (to support filterIfMissing)
      • FilterList.filterKeyValue(KeyValue) immediately returns ReturnCode.INCLUDE, remaining filters in the list aren't evaluated.

      However it is required to evaluate remaining filters, otherwise filterRow() filters out rows in case the filter's filterKeyValue() saves state that is used by filterRow(). (SingleColumValueFilter, SkipFilter, WhileMatchFilter do so)

      1. HBASE-3191.patch
        6 kB
        Stefan Seelmann

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            Stefan Seelmann
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development