trino: java.lang.IllegalArgumentException: Final aggregation with default value not separated from partial aggregation by remote hash exchange

java.lang.IllegalArgumentException: Final aggregation with default value not separated from partial aggregation by remote hash exchange
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitAggregation(ValidateAggregationsWithDefaultValues.java:119)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitAggregation(ValidateAggregationsWithDefaultValues.java:68)
	at io.prestosql.sql.planner.plan.AggregationNode.accept(AggregationNode.java:204)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.lambda$aggregatedSeenExchanges$0(ValidateAggregationsWithDefaultValues.java:157)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Collections$2.tryAdvance(Collections.java:4717)
	at java.util.Collections$2.forEachRemaining(Collections.java:4725)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.aggregatedSeenExchanges(ValidateAggregationsWithDefaultValues.java:158)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:87)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:68)
	at io.prestosql.sql.planner.plan.PlanVisitor.visitProject(PlanVisitor.java:39)
	at io.prestosql.sql.planner.plan.ProjectNode.accept(ProjectNode.java:82)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.lambda$aggregatedSeenExchanges$0(ValidateAggregationsWithDefaultValues.java:157)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Collections$2.tryAdvance(Collections.java:4717)
	at java.util.Collections$2.forEachRemaining(Collections.java:4725)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.aggregatedSeenExchanges(ValidateAggregationsWithDefaultValues.java:158)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:87)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:68)
	at io.prestosql.sql.planner.plan.PlanVisitor.visitTopN(PlanVisitor.java:44)
	at io.prestosql.sql.planner.plan.TopNNode.accept(TopNNode.java:107)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.lambda$aggregatedSeenExchanges$0(ValidateAggregationsWithDefaultValues.java:157)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Collections$2.tryAdvance(Collections.java:4717)
	at java.util.Collections$2.forEachRemaining(Collections.java:4725)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.aggregatedSeenExchanges(ValidateAggregationsWithDefaultValues.java:158)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitExchange(ValidateAggregationsWithDefaultValues.java:136)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitExchange(ValidateAggregationsWithDefaultValues.java:68)
	at io.prestosql.sql.planner.plan.ExchangeNode.accept(ExchangeNode.java:243)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.lambda$aggregatedSeenExchanges$0(ValidateAggregationsWithDefaultValues.java:157)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Collections$2.tryAdvance(Collections.java:4717)
	at java.util.Collections$2.forEachRemaining(Collections.java:4725)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.aggregatedSeenExchanges(ValidateAggregationsWithDefaultValues.java:158)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitExchange(ValidateAggregationsWithDefaultValues.java:136)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitExchange(ValidateAggregationsWithDefaultValues.java:68)
	at io.prestosql.sql.planner.plan.ExchangeNode.accept(ExchangeNode.java:243)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.lambda$aggregatedSeenExchanges$0(ValidateAggregationsWithDefaultValues.java:157)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Collections$2.tryAdvance(Collections.java:4717)
	at java.util.Collections$2.forEachRemaining(Collections.java:4725)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.aggregatedSeenExchanges(ValidateAggregationsWithDefaultValues.java:158)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:87)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:68)
	at io.prestosql.sql.planner.plan.PlanVisitor.visitTopN(PlanVisitor.java:44)
	at io.prestosql.sql.planner.plan.TopNNode.accept(TopNNode.java:107)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.lambda$aggregatedSeenExchanges$0(ValidateAggregationsWithDefaultValues.java:157)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Collections$2.tryAdvance(Collections.java:4717)
	at java.util.Collections$2.forEachRemaining(Collections.java:4725)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.aggregatedSeenExchanges(ValidateAggregationsWithDefaultValues.java:158)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:87)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:68)
	at io.prestosql.sql.planner.plan.PlanVisitor.visitProject(PlanVisitor.java:39)
	at io.prestosql.sql.planner.plan.ProjectNode.accept(ProjectNode.java:82)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.lambda$aggregatedSeenExchanges$0(ValidateAggregationsWithDefaultValues.java:157)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Collections$2.tryAdvance(Collections.java:4717)
	at java.util.Collections$2.forEachRemaining(Collections.java:4725)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.aggregatedSeenExchanges(ValidateAggregationsWithDefaultValues.java:158)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:87)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues$Visitor.visitPlan(ValidateAggregationsWithDefaultValues.java:68)
	at io.prestosql.sql.planner.plan.PlanVisitor.visitOutput(PlanVisitor.java:49)
	at io.prestosql.sql.planner.plan.OutputNode.accept(OutputNode.java:82)
	at io.prestosql.sql.planner.sanity.ValidateAggregationsWithDefaultValues.validate(ValidateAggregationsWithDefaultValues.java:65)
	at io.prestosql.sql.planner.sanity.PlanSanityChecker.lambda$validateFinalPlan$0(PlanSanityChecker.java:65)
	at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:407)
	at io.prestosql.sql.planner.sanity.PlanSanityChecker.validateFinalPlan(PlanSanityChecker.java:65)
	at io.prestosql.sql.planner.LogicalPlanner.plan(LogicalPlanner.java:203)
	at io.prestosql.sql.planner.LogicalPlanner.plan(LogicalPlanner.java:185)
	at io.prestosql.sql.planner.LogicalPlanner.plan(LogicalPlanner.java:180)
	at io.prestosql.execution.SqlQueryExecution.doPlanQuery(SqlQueryExecution.java:395)
	at io.prestosql.execution.SqlQueryExecution.planQuery(SqlQueryExecution.java:383)
	at io.prestosql.execution.SqlQueryExecution.start(SqlQueryExecution.java:338)
	at io.prestosql.$gen.Presto_330____20200221_121842_2.run(Unknown Source)
	at io.prestosql.execution.SqlQueryManager.createQuery(SqlQueryManager.java:240)
	at io.prestosql.dispatcher.LocalDispatchQuery.lambda$startExecution$7(LocalDispatchQuery.java:132)
	at io.prestosql.$gen.Presto_330____20200221_121842_2.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 21 (10 by maintainers)

Most upvoted comments