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)
https://github.com/prestosql/presto/issues/3154#issuecomment-601546809
@Praveen2112 here it is.
How long will it take to fix it ? @Praveen2112