You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Stefan Seelmann (JIRA)" <ji...@apache.org> on 2010/11/03 21:40:25 UTC

[jira] Created: (HBASE-3191) FilterList with MUST_PASS_ONE and SCVF isn't working

FilterList with MUST_PASS_ONE and SCVF isn't working
----------------------------------------------------

                 Key: HBASE-3191
                 URL: https://issues.apache.org/jira/browse/HBASE-3191
             Project: HBase
          Issue Type: Bug
          Components: filters
    Affects Versions: 0.89.20100924, 0.90.0
            Reporter: Stefan Seelmann
            Priority: Minor


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)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-3191) FilterList with MUST_PASS_ONE and SCVF isn't working

Posted by "Stefan Seelmann (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-3191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Seelmann updated HBASE-3191:
-----------------------------------

    Attachment: HBASE-3191.patch

Patch with Test

> FilterList with MUST_PASS_ONE and SCVF isn't working
> ----------------------------------------------------
>
>                 Key: HBASE-3191
>                 URL: https://issues.apache.org/jira/browse/HBASE-3191
>             Project: HBase
>          Issue Type: Bug
>          Components: filters
>    Affects Versions: 0.89.20100924, 0.90.0
>            Reporter: Stefan Seelmann
>            Priority: Minor
>         Attachments: HBASE-3191.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HBASE-3191) FilterList with MUST_PASS_ONE and SCVF isn't working

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-3191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack resolved HBASE-3191.
--------------------------

       Resolution: Fixed
    Fix Version/s: 0.90.0
     Hadoop Flags: [Reviewed]

Committed to TRUNK.  Thank you for the patch Stefan.

> FilterList with MUST_PASS_ONE and SCVF isn't working
> ----------------------------------------------------
>
>                 Key: HBASE-3191
>                 URL: https://issues.apache.org/jira/browse/HBASE-3191
>             Project: HBase
>          Issue Type: Bug
>          Components: filters
>    Affects Versions: 0.89.20100924, 0.90.0
>            Reporter: Stefan Seelmann
>            Priority: Minor
>             Fix For: 0.90.0
>
>         Attachments: HBASE-3191.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.