[
https://issues.apache.org/jira/browse/PHOENIX-2628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15225627#comment-15225627
]
ASF GitHub Bot commented on PHOENIX-2628:
-----------------------------------------
Github user JamesRTaylor commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/156#discussion_r58483357
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/iterate/BaseResultIterators.java
---
@@ -556,35 +564,55 @@ private static String toString(List<byte[]> gps) {
} else {
endKey = regionBoundaries.get(regionIndex);
}
- HRegionLocation regionLocation =
regionLocations.get(regionIndex);
- if (isLocalIndex) {
- HRegionInfo regionInfo =
regionLocation.getRegionInfo();
- endRegionKey = regionInfo.getEndKey();
- keyOffset =
ScanUtil.getRowKeyOffset(regionInfo.getStartKey(), endRegionKey);
- }
- try {
- while (guideIndex < gpsSize &&
(currentGuidePost.compareTo(endKey) <= 0 || endKey.length == 0)) {
- Scan newScan = scanRanges.intersectScan(scan,
currentKeyBytes, currentGuidePostBytes, keyOffset,
- false);
- estimatedRows +=
gps.getRowCounts().get(guideIndex);
- estimatedSize +=
gps.getByteCounts().get(guideIndex);
- scans = addNewScan(parallelScans, scans, newScan,
currentGuidePostBytes, false, regionLocation);
- currentKeyBytes = currentGuidePost.copyBytes();
- currentGuidePost = PrefixByteCodec.decode(decoder,
input);
- currentGuidePostBytes =
currentGuidePost.copyBytes();
- guideIndex++;
- }
- } catch (EOFException e) {}
- Scan newScan = scanRanges.intersectScan(scan,
currentKeyBytes, endKey, keyOffset, true);
- if (isLocalIndex) {
- if (newScan != null) {
- newScan.setAttribute(EXPECTED_UPPER_REGION_KEY,
endRegionKey);
- } else if (!scans.isEmpty()) {
-
scans.get(scans.size()-1).setAttribute(EXPECTED_UPPER_REGION_KEY, endRegionKey);
- }
- }
- scans = addNewScan(parallelScans, scans, newScan, endKey,
true, regionLocation);
- currentKeyBytes = endKey;
+ if (Bytes.compareTo(scan.getStartRow(),
context.getScan().getStartRow()) != 0
+ || Bytes.compareTo(scan.getStopRow(),
context.getScan().getStopRow()) != 0) {
--- End diff --
Cover with ScanUtil function
> Ensure split when iterating through results handled correctly
> -------------------------------------------------------------
>
> Key: PHOENIX-2628
> URL: https://issues.apache.org/jira/browse/PHOENIX-2628
> Project: Phoenix
> Issue Type: Bug
> Reporter: James Taylor
> Assignee: Rajeshbabu Chintaguntla
> Fix For: 4.8.0
>
> Attachments: PHOENIX-2628-wip.patch, PHOENIX-2628.patch,
> PHOENIX-2628_v7.patch, PHOENIX-2628_v8.patch
>
>
> We should start with a test case to ensure this works correctly, both for
> scans and aggregates.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)