You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by hu...@apache.org on 2026/04/28 13:39:26 UTC
(doris) branch fe_local_shuffle updated: [debug](local shuffle) Add diagnostic logging for merge_into LE investigation
This is an automated email from the ASF dual-hosted git repository.
924060929 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 ebea64a7436 [debug](local shuffle) Add diagnostic logging for merge_into LE investigation
ebea64a7436 is described below
commit ebea64a74367fa79f0874fe3ac6fd97ecd7ee90a
Author: 924060929 <la...@selectdb.com>
AuthorDate: Tue Apr 28 21:39:05 2026 +0800
[debug](local shuffle) Add diagnostic logging for merge_into LE investigation
AddLocalExchange: log fragment ID, maxPerBeInstances, root before/after
ThriftPlansBuilder: log LOCAL_EXCHANGE_NODE count in serialized Thrift plan
---
.../java/org/apache/doris/planner/AddLocalExchange.java | 14 +++++++++++++-
.../org/apache/doris/qe/runtime/ThriftPlansBuilder.java | 13 +++++++++++++
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/AddLocalExchange.java b/fe/fe-core/src/main/java/org/apache/doris/planner/AddLocalExchange.java
index 39ef75f7881..e734c9b43eb 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/AddLocalExchange.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/AddLocalExchange.java
@@ -44,11 +44,23 @@ public class AddLocalExchange {
.collect(java.util.stream.Collectors.groupingBy(
j -> j.getAssignedWorker().id(), java.util.stream.Collectors.counting()))
.values().stream().mapToLong(Long::longValue).max().orElse(0);
+ PlanFragment fragment = pipePlan.getFragmentJob().getFragment();
if (maxPerBeInstances <= 1) {
+ org.apache.logging.log4j.LogManager.getLogger(AddLocalExchange.class).info(
+ "addLocalExchange SKIP: fragment={} maxPerBeInstances={} planRoot={}",
+ fragment.getFragmentId(), maxPerBeInstances,
+ fragment.getPlanRoot().getClass().getSimpleName());
continue;
}
- PlanFragment fragment = pipePlan.getFragmentJob().getFragment();
+ String rootBefore = fragment.getPlanRoot().getClass().getSimpleName()
+ + "#" + fragment.getPlanRoot().getId();
addLocalExchangeForFragment(fragment, context);
+ String rootAfter = fragment.getPlanRoot().getClass().getSimpleName()
+ + "#" + fragment.getPlanRoot().getId();
+ org.apache.logging.log4j.LogManager.getLogger(AddLocalExchange.class).info(
+ "addLocalExchange DONE: fragment={} maxPerBeInstances={} rootBefore={} rootAfter={} changed={}",
+ fragment.getFragmentId(), maxPerBeInstances,
+ rootBefore, rootAfter, !rootBefore.equals(rootAfter));
}
}
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 39f49dbedfd..d48cac74ac6 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
@@ -405,6 +405,19 @@ public class ThriftPlansBuilder {
TPlanFragment planThrift = fragment.toThrift();
planThrift.query_cache_param = fragment.queryCacheParam;
params.setFragment(planThrift);
+ if (planThrift.isSetPlan()) {
+ long leCount = planThrift.getPlan().getNodes().stream()
+ .filter(n -> n.getNodeType() == org.apache.doris.thrift.TPlanNodeType.LOCAL_EXCHANGE_NODE)
+ .count();
+ if (leCount > 0) {
+ org.apache.logging.log4j.LogManager.getLogger(ThriftPlansBuilder.class).info(
+ "ThriftPlan fragment={} totalNodes={} localExchangeNodes={} rootType={}",
+ fragment.getFragmentId(),
+ planThrift.getPlan().getNodesSize(),
+ leCount,
+ planThrift.getPlan().getNodes().get(0).getNodeType());
+ }
+ }
params.setLocalParams(Lists.newArrayList());
params.setWorkloadGroups(coordinatorContext.getWorkloadGroups());
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org