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

James Taylor commented on PHOENIX-3279:
---------------------------------------

+1. Thanks for the patch, [~maryannxue]. Please commit to 4.x and master 
branches.

> QueryPlan.iterator(ParallelScanGrouper scanGrouper) should pass null 
> ('unknown') as scan parameter when calling this.iterator(ParallelScanGrouper 
> scanGrouper, Scan scan)
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3279
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3279
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.8.0
>            Reporter: Maryann Xue
>            Assignee: Maryann Xue
>             Fix For: 4.9.0
>
>         Attachments: PHOENIX-3279.patch
>
>
> This issue was introduced by PHOENIX-2628, and it caused a regression in 
> CalciteIT after calcite branch was synced with master branch.
>  
> In most implementations of QueryPlan.iterator(ParallelScanGrouper 
> scanGrouper), the QueryPlan calls this.iterator(ParallelScanGrouper 
> scanGrouper, Scan scan) with a Scan object it gets from its inner QueryPlan. 
> This logic is actually wrong when a ScanPlan (or AggregatePlan) is nested in 
> two or more DelegateQueryPlans. For example, 
> TupleProjectionPlan(ClientScanPlan(ScanPlan), the TupleProjectionPlan will 
> pass the ClientScanPlan.getContext().getScan() to 
> ClientScanPlan.iterator(ParallelScanGrouper scanGrouper, Scan scan), and in 
> turn to ScanPlan.iterator(ParallelScanGrouper scanGrouper, Scan scan), which 
> will shadow the original Scan object in the ScanPlan.
>  
> It would be better to just pass "null" in indicate "unknown" in this case. 
> The QueryPlan which does care about the Scan object, which is mostly 
> BaseQueryPlan, will have to handle this "null" value.



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

Reply via email to