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]