Description
This problem seems to only occur with reverse scan not forward scan. When amount of scan data is greater than SCAN_RESULT_CHUNK_SIZE(default 2999), Class ChunkedResultIteratorFactory will multiple calls function getResultIterator. But in function getResultIterator it always readjusts startRow, in fact, if in reverse scan we should readjust stopRow. For example
if (ScanUtil.isReversed(scan)) { scan.setStopRow(ByteUtil.copyKeyBytesIfNecessary(lastKey)); } else { scan.setStartRow(ByteUtil.copyKeyBytesIfNecessary(lastKey)); }