[
https://issues.apache.org/jira/browse/PHOENIX-4467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16295082#comment-16295082
]
Ankit Singhal edited comment on PHOENIX-4467 at 12/18/17 2:54 PM:
------------------------------------------------------------------
Attaching a patch to workaround a problem for now in Phoenix.
[~anoopsamjohn], can you please verify if it is a bug in HBase or filters needs
to be updated according to the attached patch.
was (Author: [email protected]):
Attaching a patch to workaround a problem for now in Phoenix.
> Scans with filter returning all the versions
> --------------------------------------------
>
> Key: PHOENIX-4467
> URL: https://issues.apache.org/jira/browse/PHOENIX-4467
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: Ankit Singhal
> Assignee: Ankit Singhal
> Labels: HBase-2.0
> Fix For: 5.0.0
>
> Attachments: PHOENIX-4467_workaround.patch
>
>
> Even if we set max versions in the scan to 1, HBase is still returning all
> the versions if there is a filter.
> It seems to be a side-effect of HBASE-17125. where if INCLUDE_AND_NEXT_COL is
> the return code from the filter, we are not checking the version of the cell
> even though the documentation says.
> {code}
> @InterfaceAudience.Public
> public enum ReturnCode {
> /**
> * Include the Cell
> */
> INCLUDE,
> /**
> * Include the Cell and seek to the next column skipping older versions.
> */
> INCLUDE_AND_NEXT_COL,
> }
> {code}
> In UserScanQueryMatcher#mergeFilterResponse()
> {code}
> case INCLUDE_AND_NEXT_COL:
> if (matchCode == MatchCode.INCLUDE) {
> matchCode = MatchCode.INCLUDE_AND_SEEK_NEXT_COL;
> }
> break;
> if (matchCode == MatchCode.INCLUDE_AND_SEEK_NEXT_COL
> || matchCode == MatchCode.INCLUDE_AND_SEEK_NEXT_ROW) {
> return matchCode;
> }
> // Now we will check versions again.
> if (curColCell == null || !CellUtil.matchingRowColumn(cell, curColCell)) {
> count = 0;
> curColCell = cell;
> }
> count += 1;
> return count > versionsAfterFilter ? MatchCode.SEEK_NEXT_COL :
> MatchCode.INCLUDE;
> {code}
> [~anoopsamjohn], It could be a bug in HBase
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)