You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (Created) (JIRA)" <ji...@apache.org> on 2012/01/23 07:51:41 UTC

[jira] [Created] (HBASE-5257) Allow filter to be evaluated after version handling

Allow filter to be evaluated after version handling
---------------------------------------------------

                 Key: HBASE-5257
                 URL: https://issues.apache.org/jira/browse/HBASE-5257
             Project: HBase
          Issue Type: Improvement
            Reporter: Lars Hofhansl


There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.

Also see this comment in ScanQueryMatcher:
{code}
    /**
     * Filters should be checked before checking column trackers. If we do
     * otherwise, as was previously being done, ColumnTracker may increment its
     * counter for even that KV which may be discarded later on by Filter. This
     * would lead to incorrect results in certain cases.
     */
{code}

So we had Filters after the column trackers (which do the version checking), and then moved it.
Should be at the discretion of the Filter.
Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).

See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484345#comment-13484345 ] 

Hudson commented on HBASE-5257:
-------------------------------

Integrated in HBase-0.94 #554 (See [https://builds.apache.org/job/HBase-0.94/554/])
    HBASE-5257 Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter (Varun) (Revision 1402210)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/Filter.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java
* /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
* /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java

                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Varun Sharma (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13481535#comment-13481535 ] 

Varun Sharma commented on HBASE-5257:
-------------------------------------

Sure, I will put together a patch and submit as soon as its ready. Thanks !
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490436#comment-13490436 ] 

Hudson commented on HBASE-5257:
-------------------------------

Integrated in HBase-0.92-security #146 (See [https://builds.apache.org/job/HBase-0.92-security/146/])
    HBASE-5257 Addendum fixes typo in ColumnCountGetFilter.java (Revision 1402225)
HBASE-5257 Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter (Varun) (Revision 1402211)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java

tedyu : 
Files : 
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/Filter.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java
* /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
* /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java

                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow filter to be evaluated after version handling

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

Ted Yu updated HBASE-5257:
--------------------------

    Fix Version/s: 0.96.0
           Status: Patch Available  (was: Reopened)
    
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Assigned] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Lars Hofhansl reassigned HBASE-5257:
------------------------------------

    Assignee: Varun Sharma

I added you as contributor, Varun, and assigned this issue to you.
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment:     (was: HBASE-5257-0.92.txt)
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Reopened] (HBASE-5257) Allow filter to be evaluated after version handling

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

Lars Hofhansl reopened HBASE-5257:
----------------------------------


As this comes up in mailing list frequently, let's revive this.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Assigned] (HBASE-5257) Allow filter to be evaluated after version handling

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

Lars Hofhansl reassigned HBASE-5257:
------------------------------------

    Assignee:     (was: Lars Hofhansl)
    
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow filter to be evaluated after version handling

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment: HBASE-5257-0.94.txt

Correctly formatted patch file...
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Fix Version/s:     (was: 0.94.3)
           Status: Open  (was: Patch Available)
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483879#comment-13483879 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

(after we also tackle ColumnCountGetFilter that is)
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474798#comment-13474798 ] 

Ted Yu commented on HBASE-5257:
-------------------------------

Through either annotation or introduction of special interfaces, we can distinguish the two types of filters (w.r.t. timing of version tracking).
Different types of filters should not coexist in the same FilterList.

My two cents.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Comment Edited] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483938#comment-13483938 ] 

ramkrishna.s.vasudevan edited comment on HBASE-5257 at 10/25/12 7:11 AM:
-------------------------------------------------------------------------

@Lars/@Ted/[~varun]
First of all thanks for the patch.
I have some doubts here
Versions are cell based right? 
Now with this change even if the maxVersions is set as 2, after the first cell is included we jump to the second col itself.
So if col qualifier 'q1' has two versions still we move on to colqualifier 'q2'? Am i missing something ?
{Edit}: removed 'family' word.  
                
      was (Author: ram_krish):
    @Lars/@Ted/[~varun]
First of all thanks for the patch.
I have some doubts here
Versions are cell based right? 
Now with this change even if the maxVersions is set as 2, after the first cell is included we jump to the second col family itself.
So if col qualifier 'q1' has two versions still we move on to colqualifier 'q2'? Am i missing something ?
                  
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

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

Hadoop QA commented on HBASE-5257:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12550728/HBASE-5257-0.94.txt
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 9 new or modified tests.

    {color:red}-1 patch{color}.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3142//console

This message is automatically generated.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484418#comment-13484418 ] 

Hudson commented on HBASE-5257:
-------------------------------

Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #236 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/236/])
    HBASE-5257 Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter (Varun) (Revision 1402209)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/filter/Filter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java

                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment: HBASE-5257-0.92.txt
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment:     (was: HBASE-5257-0.92.txt)
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474791#comment-13474791 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

Would ColumnCountGetFilter or ColumnPagniationFilter never be evaluated before the version tracking? What if they are included in a FilterList together with other filters? I think that would quickly become inscrutable.

We could:
# Say that these filters can never be included in a FilterList (and maybe that is best approach as it makes little sense anyway)
# Do What I suggest above. Have a special filter wrapper that takes exactly two filters (which can be FilterLists and each of which can be null) and evaluate one before the version counting and one after. This wrapper must always be at the top level of a filter, it cannot be included in a FilterList

When I attempted a patch on this a while back, the details quickly became non-trivial.

Thoughts?
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Lars Hofhansl updated HBASE-5257:
---------------------------------

    Summary: Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter  (was: Allow filter to be evaluated after version handling)
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13191397#comment-13191397 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

Running filter post column trackers does only work for Filters that do nothing in filterRowKey and filterRow.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483883#comment-13483883 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

+1 on v2.
Thanks Ted.
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Assigned] (HBASE-5257) Allow filter to be evaluated after version handling

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

Lars Hofhansl reassigned HBASE-5257:
------------------------------------

    Assignee: Lars Hofhansl
    
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484306#comment-13484306 ] 

Ted Yu commented on HBASE-5257:
-------------------------------

Addendum integrated to 0.92
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Status: Open  (was: Patch Available)
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.96.0, 0.92.2
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483865#comment-13483865 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

I like the patch. It is a simple yet effective solution for this, which can also be used by other filters in the future.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Varun Sharma (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484323#comment-13484323 ] 

Varun Sharma commented on HBASE-5257:
-------------------------------------

Thanks Lars, Ram and Ted and sorry for the few hiccups while submitting patches...

Should I resolve this now ?
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Lars Hofhansl updated HBASE-5257:
---------------------------------

    Fix Version/s: 0.94.3

You don't want to fix this for 0.94 Arun? (or did you remove the 0.94.3 by accident?)
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Comment Edited] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475533#comment-13475533 ] 

Lars Hofhansl edited comment on HBASE-5257 at 10/13/12 5:19 AM:
----------------------------------------------------------------

Ted's approach might be easier to grasp, though.

I'm curious, do we think there are filters for which it never makes sense to evaluate them before the version tracking - and vice versa?
                
      was (Author: lhofhansl):
    Ted's approach might be easier to grasp, though.

I'm curious, do we think there are filters for it never makes sense to evaluate them before the version tracking - and vice versa?
                  
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475518#comment-13475518 ] 

ramkrishna.s.vasudevan commented on HBASE-5257:
-----------------------------------------------

2nd approach seems to be fine with me Lars.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483938#comment-13483938 ] 

ramkrishna.s.vasudevan commented on HBASE-5257:
-----------------------------------------------

@Lars/@Ted/[~varun]
First of all thanks for the patch.
I have some doubts here
Versions are cell based right? 
Now with this change even if the maxVersions is set as 2, after the first cell is included we jump to the second col family itself.
So if col qualifier 'q1' has two versions still we move on to colqualifier 'q2'? Am i missing something ?
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474810#comment-13474810 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

Yep. We still need to support a single scan to specify before and after filter, though. Otherwise there is no way to combine these in a scan.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490402#comment-13490402 ] 

Hudson commented on HBASE-5257:
-------------------------------

Integrated in HBase-0.94-security-on-Hadoop-23 #9 (See [https://builds.apache.org/job/HBase-0.94-security-on-Hadoop-23/9/])
    HBASE-5257 Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter (Varun) (Revision 1402210)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/Filter.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java
* /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
* /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java

                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Ted Yu updated HBASE-5257:
--------------------------

    Fix Version/s:     (was: 0.92.2)
                   0.92.3
     Hadoop Flags: Reviewed

Integrated to 0.92, 0.94 and trunk.

Thanks for the patch, Varun.

Thanks for the review, Lars and Ram.
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment:     (was: HBASE-5257-0.94.txt)
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475533#comment-13475533 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

Ted's approach might be easier to grasp, though.

I'm curious, do we think there are filters for it never makes sense to evaluate them before the version tracking - and vice versa?
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484301#comment-13484301 ] 

Hudson commented on HBASE-5257:
-------------------------------

Integrated in HBase-0.92 #599 (See [https://builds.apache.org/job/HBase-0.92/599/])
    HBASE-5257 Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter (Varun) (Revision 1402211)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/Filter.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java
* /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
* /hbase/branches/0.92/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java

                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Olson,Andrew (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483733#comment-13483733 ] 

Olson,Andrew commented on HBASE-5257:
-------------------------------------

I will be out of the office with limited access to email until Monday, 10/29/2012. For urgent issues please contact Greg Whitsitt.

Andrew Olson | Sr. Software Architect | Cerner Corporation | 816.201.3825 | aolson1@cerner.com | www.cerner.com

                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>         Attachments: HBASE-5257-0.92.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow filter to be evaluated after version handling

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment: HBASE-5257-0.92.txt

Corrected patch file in right format for 0.92
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484225#comment-13484225 ] 

ramkrishna.s.vasudevan commented on HBASE-5257:
-----------------------------------------------

Okie...i think i was wrong ...
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483868#comment-13483868 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

We should also handle ColumnCountGetFilter.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow filter to be evaluated after version handling

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

Ted Yu updated HBASE-5257:
--------------------------

    Attachment: 5257-trunk.txt

Patch for trunk.

TestColumnPaginationFilter, TestFilter and TestFilterList passed.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Lars Hofhansl resolved HBASE-5257.
----------------------------------

    Resolution: Fixed

Committed to 0.92, 0.94, and 0.96... Resolving.

Thanks for the patch Varun!
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484467#comment-13484467 ] 

Hudson commented on HBASE-5257:
-------------------------------

Integrated in HBase-0.92 #600 (See [https://builds.apache.org/job/HBase-0.92/600/])
    HBASE-5257 Addendum fixes typo in ColumnCountGetFilter.java (Revision 1402225)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java

                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

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

Hadoop QA commented on HBASE-5257:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12550721/HBASE-5257-0.94.txt
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 9 new or modified tests.

    {color:red}-1 patch{color}.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3141//console

This message is automatically generated.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484367#comment-13484367 ] 

Hudson commented on HBASE-5257:
-------------------------------

Integrated in HBase-TRUNK #3486 (See [https://builds.apache.org/job/HBase-TRUNK/3486/])
    HBASE-5257 Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter (Varun) (Revision 1402209)

     Result = FAILURE
tedyu : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/filter/Filter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilterList.java

                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow filter to be evaluated after version handling

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment: HBASE-5257-0.92.txt

Attached patch passed unittests for Hbase 0.92 - hbase 0.95-snapshot will need a different patch.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>         Attachments: HBASE-5257-0.92.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment:     (was: HBASE-5257-0.94.txt)
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (HBASE-5257) Allow filter to be evaluated after version handling

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

Lars Hofhansl resolved HBASE-5257.
----------------------------------

    Resolution: Later
    
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483930#comment-13483930 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

Cool. It's typically better to just attach new patches and name them xyx_v2, etc. So that comments referring to earlier patches still make sense.
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Hadoop QA commented on HBASE-5257:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12550741/5257-trunk-v2.txt
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 9 new or modified tests.

    {color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 2.0 profile.

    {color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 82 warning messages.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of javac compiler warnings.

    {color:red}-1 findbugs{color}.  The patch appears to introduce 3 new Findbugs (version 1.3.9) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number of release audit warnings.

    {color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3144//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3144//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3144//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3144//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3144//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3144//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3144//console

This message is automatically generated.
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Ted Yu updated HBASE-5257:
--------------------------

    Attachment: 5257-0.92.addendum

Addendum for 0.92, fixing a typo.
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.3, 0.94.3, 0.96.0
>
>         Attachments: 5257-0.92.addendum, 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Varun Sharma (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483919#comment-13483919 ] 

Varun Sharma commented on HBASE-5257:
-------------------------------------

Actually, I did not have the ColumnCountGetFilter changes in the previous patches - so I removed the earlier patches and made the changes and now added back with the new changes...
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484203#comment-13484203 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

@Ram: That is the idea :) ColumnPaginationFilter and ColumnCountGetFilter are interested in columns (not versions).
So moving on to q2 after we see the first version of q1 is exactly what we want... Maybe I am missing something...?
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow filter to be evaluated after version handling

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

Lars Hofhansl updated HBASE-5257:
---------------------------------

    Fix Version/s: 0.94.3

I'm good on 0.94.
@Ted: Your call for 0.92
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment: HBASE-5257-0.94.txt
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.92.2, 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13190906#comment-13190906 ] 

Zhihong Yu commented on HBASE-5257:
-----------------------------------

@Lars:
The latest comments (or a summary) from HBASE-5229 should be copied in this JIRA.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Varun Sharma (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13481278#comment-13481278 ] 

Varun Sharma commented on HBASE-5257:
-------------------------------------

Hey guys,

Sorry but I did not see the work log and the earlier proposal(s) - I am new to JIRA but regarding my above thought - that is more close to the "excludeVersions()" option mentioned in the issue - since versions are discarded in this approach. Btw, we would also need one change to FilterList.filterKeyValue() where INCLUDE_AND_SEEK_NEXT_COL would override INCLUDE so if one filter returned INCLUDE and another INCLUDE_AND_SEEK_NEXT_COL, the result is INCLUDE_AND_SEEK_NEXT_COL - this would mean that we can mix ColumnPaginationFilter/ColumnCountGetFilter with other filters but we would only get back the latest column versions. I doubt if there is a compelling use case for counting/pagination of versions... my 2 cents.

Thanks !
Varun
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13191313#comment-13191313 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

@Ted: Linked the issues instead.

As for this issue... For maximum flexibility and to avoid introducing wire incompatibility I propose a small code change in ScanQueryMatcher and a new VersionFilterWrapper that takes two Filters (both of course can the FilterLists), the first is evaluated pre column tracker, the 2nd is run post column tracker.

                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Ted Yu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13481462#comment-13481462 ] 

Ted Yu commented on HBASE-5257:
-------------------------------

bq. 4) Finally modify ColumnPaginationFilter to return SEEK_NEXT_COL,INCLUDE_AND_SEEK_NEXT_COL instead of SKIP,INCLUDE_AND_SEEK_NEXT_COL respectively. Similarly for ColumnCountGetFilter
I guess you meant this:
4) Finally modify ColumnPaginationFilter to return SEEK_NEXT_COL,INCLUDE_AND_SEEK_NEXT_COL instead of SKIP,SEEK_NEXT_COL respectively. Similarly for ColumnCountGetFilter

@Varun:
If you can provide a patch as you outlined above, that would be nice.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Varun Sharma (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13481276#comment-13481276 ] 

Varun Sharma commented on HBASE-5257:
-------------------------------------

Currently, ColumnCountGetFilter and ColumnPaginationFilter suffer from this issue - they always undercount when there are multiple versions of a cell (even when max versions of a column family is set to 1 - I think this is because the versions exist until compaction happens). I looked at the ScanQueryMatcher/StoreScanner/ColumnTracker code and it seems that there is one other plausible approach towards resolving this. Currently, if a filter wants to skip over a KeyValue pair, it has 2 options - skip to next key value pair which could be the same column (SKIP) or skip to next column (SEEK_NEXT_COL). Though we are providing the filters a mechanism to really skip in these two ways when they exclude the value, we don't do that when they "include" the value. The INCLUDE always causes a seek to the next key value pair. I think that probably makes sense for the ColumnTracker since for column tracking we never want to seek across columns after doing an INCLUDE but for filters we probably want symmetry when trying to INCLUDE/EXCLUDE key value pairs. So, I was proposing something like:

1) Introduce INCLUDE_AND_SEEK_NEXT_COL to Filter.ReturnCode
2) Introduce INCLUDE_AND_SEEK_NEXT_COL to ScanQueryMatcher.MatchCode
3) Modify StoreScanner accordingly to seek to next column after the include and also link the above two types in the match() function
4) Finally modify ColumnPaginationFilter to return SEEK_NEXT_COL,INCLUDE_AND_SEEK_NEXT_COL instead of SKIP,INCLUDE_AND_SEEK_NEXT_COL respectively. Similarly for ColumnCountGetFilter

This might be a more direct way of resolving this issue and would avoid the column tracker sandwich between two layers of filters. What do you think, lars ?

Varun
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Fix Version/s: 0.92.2
           Status: Patch Available  (was: Open)
    
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.96.0, 0.92.2
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow filter to be evaluated after version handling

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

Varun Sharma updated HBASE-5257:
--------------------------------

    Attachment: HBASE-5257-0.94.txt

Patch for 0.94
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474779#comment-13474779 ] 

ramkrishna.s.vasudevan commented on HBASE-5257:
-----------------------------------------------

+1.  I think some new JIRA also was raised for this.
I think filters like ColumnCountGetFilter or ColumnPagniation filter can be grouped to new filter type and may be if the filterKeyValue of such filters return INCLUDE then the ColumnTrackers should be considering this and then decide on filtering?

                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483878#comment-13483878 ] 

Lars Hofhansl commented on HBASE-5257:
--------------------------------------

The changes to ScanQueryMatcher abd FilterList look good.

+1 on patch.
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

Posted by "Varun Sharma (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483757#comment-13483757 ] 

Varun Sharma commented on HBASE-5257:
-------------------------------------

[~tedyu@apache.org]

Thanks for patching this against 0.96 - should we also be submitting into 0.92/0.94 ? We are using the 0.92 version of hbase ?
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-5257) Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter

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

Ted Yu updated HBASE-5257:
--------------------------

    Attachment: 5257-trunk-v2.txt

Patch v2 for trunk adds ColumnCountGetFilter, as Lars suggested.

Varun:
Please press 'Cancel Patch' before attaching patches for 0.94 / 0.92 so that Hadoop QA doesn't test them.
                
> Allow INCLUDE_AND_NEXT_COL in filters and use it in ColumnPaginationFilter
> --------------------------------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Varun Sharma
>             Fix For: 0.94.3, 0.96.0
>
>         Attachments: 5257-trunk.txt, 5257-trunk-v2.txt, HBASE-5257-0.92.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling

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

Hadoop QA commented on HBASE-5257:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12550711/5257-trunk.txt
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 9 new or modified tests.

    {color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 2.0 profile.

    {color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 82 warning messages.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of javac compiler warnings.

    {color:red}-1 findbugs{color}.  The patch appears to introduce 3 new Findbugs (version 1.3.9) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number of release audit warnings.

    {color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/3140//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3140//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3140//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3140//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3140//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/3140//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/3140//console

This message is automatically generated.
                
> Allow filter to be evaluated after version handling
> ---------------------------------------------------
>
>                 Key: HBASE-5257
>                 URL: https://issues.apache.org/jira/browse/HBASE-5257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>             Fix For: 0.96.0
>
>         Attachments: 5257-trunk.txt, HBASE-5257-0.92.txt, HBASE-5257-0.94.txt
>
>
> There are various usecases and filter types where evaluating the filter before version are handled either do not make sense, or make filter handling more complicated.
> Also see this comment in ScanQueryMatcher:
> {code}
>     /**
>      * Filters should be checked before checking column trackers. If we do
>      * otherwise, as was previously being done, ColumnTracker may increment its
>      * counter for even that KV which may be discarded later on by Filter. This
>      * would lead to incorrect results in certain cases.
>      */
> {code}
> So we had Filters after the column trackers (which do the version checking), and then moved it.
> Should be at the discretion of the Filter.
> Could either add a new method to FilterBase (maybe excludeVersions() or something). Or have a new Filter wrapper (like WhileMatchFilter), that should only be used as outmost filter and indicates the same (maybe ExcludeVersionsFilter).
> See latest comments on HBASE-5229 for motivation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira