[
https://issues.apache.org/jira/browse/HADOOP-1606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514005
]
Izaak Rubin edited comment on HADOOP-1606 at 7/19/07 2:32 PM:
--------------------------------------------------------------
This patch is a near-clone of HADOOP-1606-v2.patch, primarily differing by one
line that makes RowFilterSet.Operator public and static. The public qualifier
will allow classes outside the package to pass a RowFilterSet.Operator as an
argument to the RowFilterSet constructor.
Another change in this patch is a fix to if-statement formatting: if-statements
predicating one line are now surrounded by braces, as per HBase standards.
Note that this patch must be committed before HADOOP-1579-v5.patch and
HADOOP-1636.patch. Both of these depend on changes in this patch.
All HBase tests have passed successfully. At present the test:
org.apache.hadoop.streaming.TestSymLink
is not functioning. Nonetheless all preceding HADOOP tests are passing, and
this particular test in no way reflects on the functionality and compatibility
of HBase within HADOOP.
was:
This patch is a near-clone of HADOOP-1606-v2.patch, only differing by one line
that makes RowFilterSet.Operator public and static. The public qualifier will
allow classes outside the package to pass a RowFilterSet.Operator as an
argument to the RowFilterSet constructor.
Note that this patch must be committed before HADOOP-1579-v5.patch and
HADOOP-1636.patch. Both of these depend on changes in this patch.
All HBase tests have passed successfully. At present the test:
org.apache.hadoop.streaming.TestSymLink
is not functioning. Nonetheless all preceding HADOOP tests are passing, and
this particular test in no way reflects on the functionality and compatibility
of HBase within HADOOP.
> [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.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.