phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-2628) Ensure split when iterating through results handled correctly
Date Tue, 05 Apr 2016 03:55:25 GMT

    [ https://issues.apache.org/jira/browse/PHOENIX-2628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15225637#comment-15225637
] 

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_r58483665
  
    --- 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) {
    +                    Scan newScan = ScanUtil.newScan(scan);
    +                    if(ScanUtil.isLocalIndex(scan)) {
    +                        newScan.setStartRow(regionInfo.getStartKey());
    +                        newScan.setAttribute(SCAN_ACTUAL_START_ROW, regionInfo.getStartKey());
    --- End diff --
    
    Is there some symmetry between SCAN_ACTUAL_START_ROW and EXPECTED_UPPER_REGION_KEY? Should
they be named similarly?


> 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)

Mime
View raw message