[ 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