[fix](nereids)only enable colocate scan for one phase global parttion topn in some condition #26473 (#26481)
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 3da1e99..58e0cd8 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
@@ -1523,8 +1523,8 @@
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 (inputFragment.getDataPartition().getType() != TPartitionType.RANDOM
+ && findOlapScanNodesByPassExchangeAndJoinNode(inputFragment.getPlanRoot())) {
inputFragment.setHasColocatePlanNode(true);
}
return inputFragment;