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 <[email protected]>
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));
   }
 

Reply via email to