This is an automated email from the ASF dual-hosted git repository.
starocean999 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 e718952e89b [fix](nereids)only enable colocate scan for one phase
global parttion topn in some condition (#26473)
e718952e89b is described below
commit e718952e89bb80ab85d38ea33df782ab48e6369e
Author: starocean999 <[email protected]>
AuthorDate: Wed Nov 8 20:46:40 2023 +0800
[fix](nereids)only enable colocate scan for one phase global parttion topn
in some condition (#26473)
---
.../apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
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 d4c6fe07c32..53ffb36e1e5 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
@@ -85,6 +85,7 @@ import org.apache.doris.nereids.trees.plans.AbstractPlan;
import org.apache.doris.nereids.trees.plans.AggMode;
import org.apache.doris.nereids.trees.plans.AggPhase;
import org.apache.doris.nereids.trees.plans.JoinType;
+import org.apache.doris.nereids.trees.plans.PartitionTopnPhase;
import org.apache.doris.nereids.trees.plans.Plan;
import org.apache.doris.nereids.trees.plans.PreAggStatus;
import org.apache.doris.nereids.trees.plans.physical.AbstractPhysicalJoin;
@@ -1546,8 +1547,8 @@ public class PhysicalPlanTranslator extends
DefaultPlanVisitor<PlanFragment, Pla
addPlanRoot(inputFragment, partitionSortNode, partitionTopN);
// in pipeline engine, we use parallel scan by default, but it broke
the rule of data distribution
// we need turn of parallel scan to ensure to get correct result.
- // TODO: nereids forbid all parallel scan under PhysicalSetOperation
temporary
- if
(findOlapScanNodesByPassExchangeAndJoinNode(inputFragment.getPlanRoot())) {
+ if (partitionTopN.getPhase() ==
PartitionTopnPhase.ONE_PHASE_GLOBAL_PTOPN
+ &&
findOlapScanNodesByPassExchangeAndJoinNode(inputFragment.getPlanRoot())) {
inputFragment.setHasColocatePlanNode(true);
}
return inputFragment;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]