[ https://issues.apache.org/jira/browse/HBASE-15097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15101907#comment-15101907 ]
Ted Yu commented on HBASE-15097: -------------------------------- Is the fix correct ? There were test failures in TestFromClientSideXX > When the scan operation covered two regions,sometimes the final results have > duplicated rows. > --------------------------------------------------------------------------------------------- > > Key: HBASE-15097 > URL: https://issues.apache.org/jira/browse/HBASE-15097 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 1.1.2 > Environment: centos 6.5 > hbase 1.1.2 > Reporter: chenrongwei > Assignee: chenrongwei > Attachments: HBASE-15097-v001.patch, output.log, rowkey.txt, > snapshot2016-01-13 pm 8.42.37.png > > Original Estimate: 24h > Remaining Estimate: 24h > > When the scan operationās start key and end key covered two regions,the first > region returned the rows which were beyond of its' end key.So,this finally > leads to duplicated rows in the results. > To avoid this problem,we should add a judgment before setting the variable > "stopRow" in the class of HRegion,like follow: > if (Bytes.equals(scan.getStopRow(), HConstants.EMPTY_END_ROW) && > !scan.isGetScan()) { > this.stopRow = null; > } else { > if (Bytes.compareTo(scan.getStopRow(), > this.getRegionInfo().getEndKey()) >= 0) { > this.stopRow = this.getRegionInfo().getEndKey(); > } else { > this.stopRow = scan.getStopRow(); > } > } -- This message was sent by Atlassian JIRA (v6.3.4#6332)