You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ta...@apache.org on 2023/04/12 10:29:29 UTC
[iotdb] branch rel/1.1 updated: [To rel/1.1] Fix Performance Overview Dashboard localScheduler record inaccurately (#9550)
This is an automated email from the ASF dual-hosted git repository.
tanxinyu pushed a commit to branch rel/1.1
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/1.1 by this push:
new e1cbe761c3 [To rel/1.1] Fix Performance Overview Dashboard localScheduler record inaccurately (#9550)
e1cbe761c3 is described below
commit e1cbe761c3374f2273728b0d997d70c34787ce12
Author: Potato <ta...@apache.org>
AuthorDate: Wed Apr 12 18:29:22 2023 +0800
[To rel/1.1] Fix Performance Overview Dashboard localScheduler record inaccurately (#9550)
Signed-off-by: OneSizeFitQuorum <ta...@apache.org>
---
.../scheduler/FragmentInstanceDispatcherImpl.java | 30 ++++++++++++----------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/FragmentInstanceDispatcherImpl.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/FragmentInstanceDispatcherImpl.java
index b990e0e4fb..a471e9256a 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/FragmentInstanceDispatcherImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/FragmentInstanceDispatcherImpl.java
@@ -182,22 +182,24 @@ public class FragmentInstanceDispatcherImpl implements IFragInstanceDispatcher {
List<TSStatus> dataNodeFailureList = new ArrayList<>();
- // sync dispatch to local
- long localScheduleStartTime = System.nanoTime();
- for (FragmentInstance localInstance : localInstances) {
- try (SetThreadName threadName = new SetThreadName(localInstance.getId().getFullId())) {
- dispatchOneInstance(localInstance);
- } catch (FragmentInstanceDispatchException e) {
- dataNodeFailureList.add(e.getFailureStatus());
- } catch (Throwable t) {
- logger.warn("[DispatchFailed]", t);
- dataNodeFailureList.add(
- RpcUtils.getStatus(
- TSStatusCode.INTERNAL_SERVER_ERROR, "Unexpected errors: " + t.getMessage()));
+ if (!localInstances.isEmpty()) {
+ // sync dispatch to local
+ long localScheduleStartTime = System.nanoTime();
+ for (FragmentInstance localInstance : localInstances) {
+ try (SetThreadName threadName = new SetThreadName(localInstance.getId().getFullId())) {
+ dispatchOneInstance(localInstance);
+ } catch (FragmentInstanceDispatchException e) {
+ dataNodeFailureList.add(e.getFailureStatus());
+ } catch (Throwable t) {
+ logger.warn("[DispatchFailed]", t);
+ dataNodeFailureList.add(
+ RpcUtils.getStatus(
+ TSStatusCode.INTERNAL_SERVER_ERROR, "Unexpected errors: " + t.getMessage()));
+ }
}
+ PERFORMANCE_OVERVIEW_METRICS.recordScheduleLocalCost(
+ System.nanoTime() - localScheduleStartTime);
}
- PERFORMANCE_OVERVIEW_METRICS.recordScheduleLocalCost(
- System.nanoTime() - localScheduleStartTime);
// wait until remote dispatch done
try {
asyncPlanNodeSender.waitUntilCompleted();