Skip to content

Commit

Permalink
[fix](nereids)only enable colocate scan for one phase global parttion…
Browse files Browse the repository at this point in the history
… topn in some condition
  • Loading branch information
starocean999 committed Nov 6, 2023
1 parent 2ba2cd2 commit 40ccd49
Showing 1 changed file with 3 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
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;
Expand Down Expand Up @@ -1546,8 +1547,8 @@ public PlanFragment visitPhysicalPartitionTopN(PhysicalPartitionTopN<? extends P
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;
Expand Down

0 comments on commit 40ccd49

Please sign in to comment.