[ https://issues.apache.org/jira/browse/PHOENIX-2714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15166561#comment-15166561 ]
James Taylor commented on PHOENIX-2714: --------------------------------------- Good catch, [~maryannxue]. We need to get 4.7 out, so I think improvements can wait until 4.8 (but it's of course open for discussion). Some other improvements include: - exposing getEstimatedRowCount() and getEstimatedByteCount() in QueryPlan (or maybe StatementPlan even). For the union and the join query plans, we could be smart about the way we add it up. - taking into account point lookups and only adding a single blocks worth of bytes (as the entire guidepost bytes would not be scanned). - taking into account the additional column families that are being scanned as well. We currently only add the guideposts bytes from the one being used to parallelize. [~lhofhansl] may have other ideas too. > 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)