hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5257) Allow filter to be evaluated after version handling
Date Fri, 12 Oct 2012 04:51:02 GMT

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

> 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

View raw message