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