From f08c0a4abc91a436bfbada54258cd2cdc07baa98 Mon Sep 17 00:00:00 2001 From: BiteTheDDDDt Date: Wed, 20 Aug 2025 16:32:51 +0800 Subject: [PATCH 1/2] fix wrong 'Total Instances Num' in profile --- .../src/main/java/org/apache/doris/qe/NereidsCoordinator.java | 2 +- .../apache/doris/qe/runtime/MultiFragmentsPipelineTask.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java index 641d433c429754..b52ab3eb3fbbb6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/NereidsCoordinator.java @@ -392,7 +392,7 @@ public Map getBeToInstancesNum() { for (MultiFragmentsPipelineTask beTasks : executionTask.getChildrenTasks().values()) { TNetworkAddress brpcAddress = beTasks.getBackend().getBrpcAddress(); String brpcAddrString = brpcAddress.hostname.concat(":").concat("" + brpcAddress.port); - result.put(brpcAddrString, beTasks.getChildrenTasks().size()); + result.put(brpcAddrString, beTasks.getInstanceNum()); } } return result; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/MultiFragmentsPipelineTask.java b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/MultiFragmentsPipelineTask.java index 92b2a00597b2e7..ebfe602aadb6af 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/MultiFragmentsPipelineTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/MultiFragmentsPipelineTask.java @@ -86,6 +86,10 @@ public Future sendPhaseOneRpc(boolean twoPhaseExecution ); } + public Integer getInstanceNum() { + return coordinatorContext.instanceNum.get(); + } + public Future sendPhaseTwoRpc() { return execPlanFragmentStartAsync(backendClientProxy, backend.getBrpcAddress()); } From b4ac2c7280b8c6d9a992bc3414b17c8c5998561e Mon Sep 17 00:00:00 2001 From: BiteTheDDDDt Date: Thu, 21 Aug 2025 11:43:54 +0800 Subject: [PATCH 2/2] fix --- .../org/apache/doris/qe/runtime/AbstractRuntimeTask.java | 6 ++++++ .../apache/doris/qe/runtime/MultiFragmentsPipelineTask.java | 4 ---- .../apache/doris/qe/runtime/SingleFragmentPipelineTask.java | 4 ++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/AbstractRuntimeTask.java b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/AbstractRuntimeTask.java index 1059440792e529..7e4fb96d27cb78 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/AbstractRuntimeTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/AbstractRuntimeTask.java @@ -33,6 +33,12 @@ public void execute() throws Throwable { } } + public Integer getInstanceNum() { + return childrenTasks.allTasks().stream() + .mapToInt(Child::getInstanceNum) + .sum(); + } + public Map getChildrenTasks() { return childrenTasks.allTaskMap(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/MultiFragmentsPipelineTask.java b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/MultiFragmentsPipelineTask.java index ebfe602aadb6af..92b2a00597b2e7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/MultiFragmentsPipelineTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/MultiFragmentsPipelineTask.java @@ -86,10 +86,6 @@ public Future sendPhaseOneRpc(boolean twoPhaseExecution ); } - public Integer getInstanceNum() { - return coordinatorContext.instanceNum.get(); - } - public Future sendPhaseTwoRpc() { return execPlanFragmentStartAsync(backendClientProxy, backend.getBrpcAddress()); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/SingleFragmentPipelineTask.java b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/SingleFragmentPipelineTask.java index 2fba0654af9d67..1aa4c7f0478e50 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/SingleFragmentPipelineTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/SingleFragmentPipelineTask.java @@ -82,6 +82,10 @@ public int getFragmentId() { return fragmentId; } + public Integer getInstanceNum() { + return instanceIds.size(); + } + public List buildFragmentInstanceInfo() { TNetworkAddress address = new TNetworkAddress(backend.getHost(), backend.getBePort()); List infos = Lists.newArrayListWithCapacity(instanceIds.size());