This is an automated email from the ASF dual-hosted git repository. 924060929 pushed a commit to branch fe_local_shuffle_optimize in repository https://gitbox.apache.org/repos/asf/doris.git
commit 1f4d8111f75217dbe83ded8f2d5d344b659880f6 Author: 924060929 <[email protected]> AuthorDate: Thu Jun 4 12:01:29 2026 +0800 [fix](local shuffle) decouple exchange serial from scan pooling when FE planner enabled --- .../src/main/java/org/apache/doris/planner/ExchangeNode.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/ExchangeNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/ExchangeNode.java index 256f89843eb..8898987d9a7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/ExchangeNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/ExchangeNode.java @@ -165,6 +165,13 @@ public class ExchangeNode extends PlanNode { @Override public boolean isSerialOperatorOnBe(ConnectContext context) { + if (context != null && context.getSessionVariable().isEnableLocalShufflePlanner()) { + // When FE local shuffle planner is on, decouple exchange from scan's serial flag. + // Scan pooling is handled by LE(PT) after scan; exchange keeps its own parallelism. + return fragment != null + && isSerialNode() + && fragment.useSerialSource(context); + } return fragment != null && (isSerialNode() || fragment.hasSerialScanNode()) && fragment.useSerialSource(context); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
