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
commit 0a37e5aed0b62936f68db2b72167428e0f30b411 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]
