Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-3191

FilterList with MUST_PASS_ONE and SCVF isn't working

    Details

    • Type: Bug
    • Status: Closed
    • Priority: 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)

        Attachments

        1. HBASE-3191.patch
          6 kB
          Stefan Seelmann

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: