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]

Reply via email to