This is an automated email from the ASF dual-hosted git repository.

huajianlan pushed a commit to branch fe_local_shuffle
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/fe_local_shuffle by this push:
     new 6ccefb2233a Revert "[fix](local shuffle) fix num_senders for 
UNPARTITIONED sender fragments"
6ccefb2233a is described below

commit 6ccefb2233a9d6f2df14edf034242dada0b97d60
Author: 924060929 <[email protected]>
AuthorDate: Mon Mar 30 12:39:50 2026 +0800

    Revert "[fix](local shuffle) fix num_senders for UNPARTITIONED sender 
fragments"
    
    This reverts commit f9aa0f8f5ea40f51715894dae5e68bad14acc22e.
---
 .../org/apache/doris/qe/runtime/ThriftPlansBuilder.java | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java
index aefaef2dc03..ad1000c23da 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java
@@ -297,21 +297,10 @@ public class ThriftPlansBuilder {
             PipelineDistributedPlan childPlan, ConnectContext connectContext) {
         PlanFragment fragment = childPlan.getFragmentJob().getFragment();
         PlanNode planRoot = fragment.getPlanRoot();
-        // A fragment outputs serially if its output pipeline has only 1 task.
-        // This happens when:
-        // 1. The fragment uses serial source (pooling scan) AND the plan root
-        //    is serial or has no serial children (no local exchange fan-out)
-        // 2. The fragment's data partition is UNPARTITIONED — it runs on only
-        //    1 worker and always outputs serially regardless of local exchange
-        if (fragment.getDataPartition().isPartitioned()) {
-            if (!fragment.useSerialSource(connectContext)) {
-                return false;
-            }
-            return planRoot.isSerialOperator() || 
!planRoot.hasSerialChildren();
-        } else {
-            // UNPARTITIONED fragment: only 1 worker, outputs serially
-            return true;
+        if (!fragment.useSerialSource(connectContext)) {
+            return false;
         }
+        return planRoot.isSerialOperator() || !planRoot.hasSerialChildren();
     }
 
     private static void 
setMultiCastDestinationThriftIfNotSet(PipelineDistributedPlan fragmentPlan) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to