[
https://issues.apache.org/jira/browse/HBASE-6954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474995#comment-13474995
]
Andrew Olson commented on HBASE-6954:
-------------------------------------
Thanks Lars. Yes, I do think that it should be addressed to prevent the
unexpected results -- took us some time to figure out this was the cause of one
of our applications hanging. HBASE-5257 seems like a reasonable change to make,
although it looks like HBASE-5104 already addresses our particular scenario by
introducing getMaxResultsPerColumnFamily() and getRowOffsetPerColumnFamily()
methods for the Get and Scan classes. If that is the case, perhaps
ColumnPaginationFilter and ColumnCountGetFilter could be deprecated?
> Column-counting filters can accept multiple versions of a column
> ----------------------------------------------------------------
>
> Key: HBASE-6954
> URL: https://issues.apache.org/jira/browse/HBASE-6954
> Project: HBase
> Issue Type: Bug
> Components: Filters
> Reporter: Andrew Olson
> Attachments: ColumnPaginationFilterTest.java
>
>
> It looks like the max version limit for a table or scanner is not applied to
> disregard older versions, prior to counting columns within a
> ColumnPaginationFilter or ColumnCountGetFilter. As a result, a Scan or Get
> can ultimately retrieve fewer than the requested number of columns when there
> is a sufficient number of existing columns to satisfy the request, if
> multiple versions of a column have been added to a row.
> A minimal test case demonstrating this behavior is attached.
> The javadoc for Get mentions 'Only Filter.filterKeyValue(KeyValue) is called
> AFTER all tests for ttl, column match, deletes and max versions have been
> run.'; for these two filters this behavior does not appear to be true, as
> flattening of multiple versions appears to occur after the filter has been
> applied.
--
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