phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maryann Xue (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-2714) Correct byte estimate in BaseResultIterators and expose as interface
Date Thu, 25 Feb 2016 02:12:18 GMT

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

Maryann Xue commented on PHOENIX-2714:
--------------------------------------

Thanks for the ideas, [~jamestaylor]! Generally I'd agree that this should be exposed at QueryPlan
(or even StatementPlan) level, but for the use of calcite costing now, it is enough to deal
with BaseQueryPlan (actually ScanPlan) and BaseResultIterators only, and the sum (for joins,
unions, etc) is taken care of by the calcite cost calculation already.

> Correct byte estimate in BaseResultIterators and expose as interface
> --------------------------------------------------------------------
>
>                 Key: PHOENIX-2714
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2714
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.7.0
>            Reporter: Maryann Xue
>            Assignee: Maryann Xue
>              Labels: statistics
>             Fix For: 4.8.0
>
>
> The bytes are accumulated even if the range intersect is empty (produces a null scan).
> {code}
>                 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++;
>                 }
> {code}



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

Mime
View raw message