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)); }
