[ https://issues.apache.org/jira/browse/PHOENIX-4467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ankit Singhal updated PHOENIX-4467: ----------------------------------- Attachment: PHOENIX-4467_workaround.patch 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)