phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ankit Singhal (JIRA)" <j...@apache.org>
Subject [jira] [Created] (PHOENIX-4467) Scans with filter returning all the versions
Date Mon, 18 Dec 2017 14:52:00 GMT
Ankit Singhal created PHOENIX-4467:
--------------------------------------

             Summary: 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
             Fix For: 5.0.0


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)

Mime
View raw message