[ https://issues.apache.org/jira/browse/HBASE-22710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16903798#comment-16903798 ]
Zheng Wang commented on HBASE-22710: ------------------------------------ Maybe the problem is here. {code:java} ScanQueryMatcher.java getTrackers() { ... if (userScan != null) { if (userScan.isRaw()) { resultMaxVersion = userScan.getMaxVersions(); } else { resultMaxVersion = Math.min(userScan.getMaxVersions(), scanInfo.getMaxVersions()); } //here maxVersionToCheck = userScan.hasFilter() ? scanInfo.getMaxVersions() : resultMaxVersion; } ... }{code} The scanInfo.getMaxVersions() return 1,it is from the column family 's define, the resultMaxVersion is 2,it is from scan requset. But i don't understand why the filter should effect maxVersion? > Wrong result in one case of scan that use raw and versions and filter > together > ------------------------------------------------------------------------------- > > Key: HBASE-22710 > URL: https://issues.apache.org/jira/browse/HBASE-22710 > Project: HBase > Issue Type: Bug > Components: Scanners > Affects Versions: 2.0.0 > Reporter: Zheng Wang > Assignee: Zheng Hu > Priority: Major > > create 'testScanRaw',\{NAME => 'f', VERSIONS => 1} > > put 'testScanRaw','r1','f:q','1' > put 'testScanRaw','r1','f:q','2' > put 'testScanRaw','r1','f:q','3' > > hbase(main):005:0> scan 'testScanRaw',\{RAW => true, STARTROW => 'r1', > STOPROW=>'r1',VERSIONS=>2} > ROW COLUMN+CELL > r1 column=f:q, timestamp=1563430154757, value=3 > r1 column=f:q, timestamp=1563430153120, value=2 > > hbase(main):006:0> scan 'testScanRaw',\{RAW => true, STARTROW => 'r1', > STOPROW=>'r1',VERSIONS=>2,FILTER => "(QualifierFilter (=, 'binary:q'))"} > ROW COLUMN+CELL > r1 column=f:q, timestamp=1563430154757, value=3 > > BTW,the result is right in hbase1.2. -- This message was sent by Atlassian JIRA (v7.6.14#76016)