[ 
https://issues.apache.org/jira/browse/PHOENIX-1163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor resolved PHOENIX-1163.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: 3.2
                   4.2
                   5.0.0
         Assignee: James Taylor  (was: Kyle Buzsaki)

We do all the intersection up front now.

> Intersect min/max range with scan range during compilation when salted
> ----------------------------------------------------------------------
>
>                 Key: PHOENIX-1163
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1163
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: James Taylor
>             Fix For: 5.0.0, 4.2, 3.2
>
>
> There's some hacky code in ParallelIterators that can be removed if we 
> intersect the scan range earlier, during compilation. See this FIXME:
> {code}
>             if (tableRef.getTable().getBucketNum() != null) {
>                 KeyRange minMaxRange = context.getMinMaxRange();
>                 if (minMaxRange != null) {
>                     // Add salt byte based on current split, as minMaxRange 
> won't have it
>                     minMaxRange = 
> SaltingUtil.addSaltByte(split.getLowerRange(), minMaxRange);
>                     // FIXME: seems like this should be possible when we set 
> the scan start/stop
>                     // in StatementContext.setScanRanges(). If it doesn't 
> intersect the range for
>                     // one salt byte, I don't see how it could intersect it 
> with any of them.
>                     if (!ScanUtil.intersectScanRange(splitScan, 
> minMaxRange.getLowerRange(), minMaxRange.getUpperRange())) {
>                         continue; // Skip this chunk if no intersection based 
> on minMaxRange
>                     }
>                 }
>             }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to