hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HADOOP-1606) [hbase] Updated Implementation of RowFilterSet, RowFilterInterface
Date Fri, 20 Jul 2007 19:22:06 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-1606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

stack updated HADOOP-1606:

    Status: Patch Available  (was: Open)


Builds and passes all tests locally.  Trying hudson.

> [hbase] Updated Implementation of RowFilterSet, RowFilterInterface
> ------------------------------------------------------------------
>                 Key: HADOOP-1606
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1606
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1606-v2.patch, HADOOP-1606-v3.patch, HADOOP-1606-v4.patch,
HADOOP-1606-v5.patch, HADOOP-1606.patch
> Unit tests on RowFilterSet revealed a problem with it's handling of nested state-maintaining
filters.  RowFilterSet returned as soon as possible for its implementations of filter and
filterNotNull.  This came at the cost of it not always calling every one of it's filters.
 Skipping these filters was problematic, particularly when a filter changes it's state when
called to filter.  As a result, later calls to filterAllRemaining() were non-deterministic
(with an unordered set) or dependent on set ordering at best.  
> With much input from Michael Stack and James Kennedy, the problem has been resolved as
follows: the RowFilterInterface has been updated to contain a boolean processAlways() method
that states whether or not this filter MUST be called in any call to the filter hierarchy.
 Filters that require their state to be updated immediately upon every filter call (via a
call to their filter methods), such as WhileMatchRowFilter (see HADOOP-1579), will return
true for processAlways().  RowFilterSet will ensure that these filters always have their filtering
methods called, whether or not they affect the final decision.
> The patch proposed by this issue will make the necessary changes to RowFilterSet and
RowFilterInterface, in addition to adding the tests for RowFilterSet.

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

View raw message