This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new aad8043d44 [opt](Nereids) enable parallel scan for local phase agg (#21642) aad8043d44 is described below commit aad8043d44ef7b9aa860905d99f197616cc2a92a Author: morrySnow <101034200+morrys...@users.noreply.github.com> AuthorDate: Sat Jul 8 21:47:17 2023 +0800 [opt](Nereids) enable parallel scan for local phase agg (#21642) after we forbid some cases off agg candidate plans, all local phase agg require DistributionSpecAny for child. So, we could enable parallel scan for it --- .../apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java index 9844179633..fb01db5c41 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java @@ -699,8 +699,11 @@ public class PhysicalPlanTranslator extends DefaultPlanVisitor<PlanFragment, Pla // TODO: nereids forbid all parallel scan under aggregate temporary, because nereids could generate // so complex aggregate plan than legacy planner, and should add forbid parallel scan hint when // generate physical aggregate plan. + // There is one exception, we use some precondition in optimizer, input to buffer always require any for input, + // so when agg mode is INPUT_TO_BUFFER, we do not forbid parallel scan if (leftMostNode instanceof OlapScanNode - && inputPlanFragment.getDataPartition().getType() != TPartitionType.RANDOM) { + && inputPlanFragment.getDataPartition().getType() != TPartitionType.RANDOM + && aggregate.getAggregateParam().aggMode != AggMode.INPUT_TO_BUFFER) { inputPlanFragment.setHasColocatePlanNode(true); } setPlanRoot(inputPlanFragment, aggregationNode, aggregate); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org