You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2025/03/07 04:01:51 UTC

(iotdb) 02/02: fix dispatch time

This is an automated email from the ASF dual-hosted git repository.

caogaofei pushed a commit to branch fix_dispatch
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit a7650a9b8d78586824533c3d94d13a06a35a7b58
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Fri Mar 7 12:01:32 2025 +0800

    fix dispatch time
---
 .../plan/scheduler/FragmentInstanceDispatcherImpl.java         | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
index 6bdc5c20f64..b890f4ef5c0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
@@ -129,7 +129,9 @@ public class FragmentInstanceDispatcherImpl implements IFragInstanceDispatcher {
   //  topological dispatch according to dependency relations between FragmentInstances
   private Future<FragInstanceDispatchResult> dispatchRead(List<FragmentInstance> instances) {
     long startTime = System.nanoTime();
+
     for (FragmentInstance instance : instances) {
+      long fragInstanceStartTime = System.nanoTime();
       try (SetThreadName threadName = new SetThreadName(instance.getId().getFullId())) {
         dispatchOneInstance(instance);
       } catch (FragmentInstanceDispatchException e) {
@@ -151,11 +153,13 @@ public class FragmentInstanceDispatcherImpl implements IFragInstanceDispatcher {
           instance.getFragment().clearTypeProvider();
         }
 
-        long dispatchReadTime = System.nanoTime() - startTime;
-        QUERY_EXECUTION_METRIC_SET.recordExecutionCost(DISPATCH_READ, dispatchReadTime);
-        queryContext.recordDispatchCost(dispatchReadTime);
+        long fragInstanceDispatchReadTime = System.nanoTime() - fragInstanceStartTime;
+        QUERY_EXECUTION_METRIC_SET.recordExecutionCost(DISPATCH_READ, fragInstanceDispatchReadTime);
       }
     }
+
+    long queryDispatchReadTime = System.nanoTime() - startTime;
+    queryContext.recordDispatchCost(queryDispatchReadTime);
     return immediateFuture(new FragInstanceDispatchResult(true));
   }