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

ASF GitHub Bot commented on PHOENIX-2628:
-----------------------------------------

Github user chrajeshbabu commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/156#discussion_r58642188
  
    --- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/iterate/TableResultIterator.java 
---
    @@ -107,8 +127,37 @@ public synchronized void close() throws SQLException {
         @Override
         public synchronized Tuple next() throws SQLException {
             initScanner();
    -        Tuple t = scanIterator.next();
    -        return t;
    +        try {
    +            lastTuple = scanIterator.next();
    +            if (lastTuple != null) {
    +                ImmutableBytesWritable ptr = new ImmutableBytesWritable();
    +                lastTuple.getKey(ptr);
    +            }
    +        } catch (SQLException e) {
    +            try {
    +                throw ServerUtil.parseServerException(e);
    +            } catch(StaleRegionBoundaryCacheException e1) {
    +                if(scan.getAttribute(NON_AGGREGATE_QUERY)!=null) {
    +                    Scan newScan = ScanUtil.newScan(scan);
    +                    if(lastTuple != null) {
    +                        lastTuple.getKey(ptr);
    +                        byte[] startRowSuffix = 
ByteUtil.copyKeyBytesIfNecessary(ptr);
    +                        if(ScanUtil.isLocalIndex(newScan)) {
    +                            newScan.setAttribute(SCAN_START_ROW_SUFFIX, 
ByteUtil.nextKey(startRowSuffix));
    +                        } else {
    +                            
newScan.setStartRow(ByteUtil.nextKey(startRowSuffix));
    +                        }
    +                    }
    +                    
plan.getContext().getConnection().getQueryServices().clearTableRegionCache(htable.getTableName());
    +                    this.scanIterator =
    +                            
plan.iterator(DefaultParallelScanGrouper.getInstance(), newScan);
    --- End diff --
    
    Agree with you James. I think I can raise another issue for this and work 
on it. Wdyt?


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

Reply via email to