[
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