[jira] [Commented] (PHOENIX-3279) QueryPlan.iterator(ParallelScanGrouper scanGrouper) should pass null ('unknown') as scan parameter when calling this.iterator(ParallelScanGrouper scanGrouper, Scan sc
[ https://issues.apache.org/jira/browse/PHOENIX-3279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15507201#comment-15507201 ] Hudson commented on PHOENIX-3279: - FAILURE: Integrated in Jenkins build Phoenix-master #1409 (See [https://builds.apache.org/job/Phoenix-master/1409/]) PHOENIX-3279 QueryPlan.iterator(ParallelScanGrouper scanGrouper) should (maryannxue: rev 7601d5942fdeb55c114295292e2100aafb84e861) * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/ClientProcessingPlan.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/TupleProjectionPlan.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/DelegateQueryPlan.java * (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/BaseQueryPlan.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/CorrelatePlan.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/ClientScanPlan.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/ClientAggregatePlan.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/iterate/UnionResultIterators.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/UnnestArrayPlan.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/HashJoinPlan.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/execute/UnionPlan.java > 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)
[jira] [Commented] (PHOENIX-3279) QueryPlan.iterator(ParallelScanGrouper scanGrouper) should pass null ('unknown') as scan parameter when calling this.iterator(ParallelScanGrouper scanGrouper, Scan sc
[ 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)