[ 
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:37 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-1637.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, 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.

> [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.

Reply via email to