You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Izaak Rubin (JIRA)" <ji...@apache.org> on 2007/07/09 23:01:05 UTC

[jira] Created: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

[hbase] Add new WhileMatchRowFilter and StopRowFilter filters
-------------------------------------------------------------

                 Key: HADOOP-1579
                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
             Project: Hadoop
          Issue Type: New Feature
          Components: contrib/hbase
            Reporter: Izaak Rubin
            Priority: Minor


I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).

StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.

Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Assigned: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

stack reassigned HADOOP-1579:
-----------------------------

    Assignee: stack

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Assignee: stack
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579-v6.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

Izaak Rubin updated HADOOP-1579:
--------------------------------

    Attachment: HADOOP-1579-v5.patch

This patch only differs from HADOOP-1579-v4.patch in if-statement formatting: if-statements predicating one line are now surrounded by braces, as per HBase standards.

Note that HADOOP-1606 changes RowFilterInterface, and therefore must be committed before HADOOP-1579.

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] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Commented: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

Posted by "James Kennedy (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-1579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511287 ] 

James Kennedy commented on HADOOP-1579:
---------------------------------------

Rather than extension, i recommend that you implement WhileMatchRowFilter as a RowFilterInterface decorator. Let it wrap any RowFilterInterface and apply the while-matches logic on top of it. That way it can be applied to any filter, not just regexp.  Basically all it has to do is make filterAllRemaining() always return true after it's wrapped filter returns true for any of the filter methods.

RowFilterInterface whileMatchRegExpFilter = new WhileMatchRowFilter(new RegExpRowFilter("com.google.*"));

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

Izaak Rubin updated HADOOP-1579:
--------------------------------

    Attachment: HADOOP-1579.patch

A patch to add WhileMatchRowFilter, StopRowFilter, and their respective JUnit tests.  The tests have compiled successfully on my computer.

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

stack updated HADOOP-1579:
--------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Committed.  Thanks Izzak.

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Assignee: stack
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579-v6.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Commented: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-1579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514779 ] 

Hadoop QA commented on HADOOP-1579:
-----------------------------------

+1

http://issues.apache.org/jira/secure/attachment/12362248/HADOOP-1579-v6.patch applied and successfully tested against trunk revision r558831.

Test results:   http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/451/testReport/
Console output: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/451/console

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Assignee: stack
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579-v6.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

Izaak Rubin updated HADOOP-1579:
--------------------------------

    Attachment: HADOOP-1579-v6.patch

Identical to the preceding patch, except the addition of TestRowFilterSet has been added from HADOOP-1606.  TestRowFilterSet depended on certain tests added only in this issue.

All HBase tests passed successfully.

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579-v6.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Commented: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-1579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514399 ] 

Hadoop QA commented on HADOOP-1579:
-----------------------------------

-1, build or testing failed

2 attempts failed to build and test the latest attachment http://issues.apache.org/jira/secure/attachment/12362248/HADOOP-1579-v6.patch against trunk revision r558243.

Test results:   http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/449/testReport/
Console output: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/449/console

Please note that this message is automatically generated and may represent a problem with the automation system and not the patch.

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579-v6.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

Izaak Rubin updated HADOOP-1579:
--------------------------------

    Attachment: HADOOP-1579-v4.patch

A revision to the previous patch, this time with file paths relative to hadoop-trunk (as opposed to my home directory, a mistake in the last patch).  I tried applying the patches on my own computer (after blowing away my changes), and confirmed the patch works correctly.

All tests compiled successfully on my computer.

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

stack updated HADOOP-1579:
--------------------------

    Status: In Progress  (was: Patch Available)

Fail is in test of hbase bloom filters, something that I've not noticing failing in the past.  It looks like it was stuck for 15 minutes.  Rebuilt local.  All again passes.  Trying resubmit

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579-v6.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

Izaak Rubin updated HADOOP-1579:
--------------------------------

    Attachment: HADOOP-1579-v3.patch

A new patch for StopRowFilter and WhileMatchRowFilter, this time meeting the new RowFilterInterface specifications to-be-implemented by HADOOP-1606.  Do not apply this patch unless HADOOP-1606.patch has been applied.  

All tests have compiled successfully on my computer.

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

stack updated HADOOP-1579:
--------------------------

    Status: Patch Available  (was: In Progress)

Retry

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Assignee: stack
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579-v6.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

Izaak Rubin updated HADOOP-1579:
--------------------------------

    Attachment: HADOOP-1579-v2.patch

I've made the changes suggested by James, making WhileMatchRowFilter a wrapper on other filters.  StopRowFilter has also been changed such that it no longer remembers whether or not it has filtered a row (and needs to continue to do so); instead, the prior functionality of StopRowFilter can be replicated by wrapping the new StopRowFilter in a WhileMatchRowFilter.

Thanks again James.  I haven't made the changes you suggested in your second email yet, so expect another patch in the near future.  For the time being, however, this one is an improvement.

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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


[jira] Updated: (HADOOP-1579) [hbase] Add new WhileMatchRowFilter and StopRowFilter filters

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

stack updated HADOOP-1579:
--------------------------

    Status: Patch Available  (was: Open)

+1

Builds and passes tests locally.  Trying against hudson.

> [hbase] Add new WhileMatchRowFilter and StopRowFilter filters
> -------------------------------------------------------------
>
>                 Key: HADOOP-1579
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1579
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>            Reporter: Izaak Rubin
>            Priority: Minor
>         Attachments: HADOOP-1579-v2.patch, HADOOP-1579-v3.patch, HADOOP-1579-v4.patch, HADOOP-1579-v5.patch, HADOOP-1579-v6.patch, HADOOP-1579.patch
>
>
> I've created two additional filters for HBase: WhileMatchRowFilter and StopRowFilter.  WhileMatchRowFilter is an extension of RegExpRowFilter; it also filters rows based on whether they match a specified regex.  However, unlike its parent, WhileMatchRowFilter filters everything after it's first filtered row - once a row fails to match regex or column specifications, filterAllRemaining() always returns true.  This type of functionality will be useful when filtering for a set of adjacent rows that match a certain regex (as opposed to every row that matches that regex).
> StopRowFilter filters out every row greater than or equal to a specified rowKey (the stopRow).  The filter assumes that the rowKeys it receives are in alphabetical order, so once a key greater than the stopRow is encountered filterAllRemaining() will return true.  StopRowFilter will be useful for alphabetical filtering.
> Both filters come with JUnit tests, namely TestWhileMatchRowFilter and TestStopRowFilter.

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