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

jackietien pushed a commit to branch ty/errorAccuracy
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 14e22ee6aceddba86b63cfa8e50a4f28faabdb1c
Author: JackieTien97 <[email protected]>
AuthorDate: Tue Jan 9 18:06:31 2024 +0800

    Make timeout error msg
---
 .../iotdb/db/queryengine/execution/schedule/DriverScheduler.java  | 7 ++++++-
 .../queryengine/plan/scheduler/FixedRateFragInsStateTracker.java  | 8 ++++++--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/DriverScheduler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/DriverScheduler.java
index 1ad010eead7..572aeeb9a78 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/DriverScheduler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/DriverScheduler.java
@@ -50,6 +50,7 @@ import org.apache.iotdb.mpp.rpc.thrift.TFragmentInstanceId;
 
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -576,6 +577,7 @@ public class DriverScheduler implements IDriverScheduler, 
IService {
           task.unlock();
         }
         clearDriverTask(task);
+        String abortCause = task.getAbortCause();
         QueryId queryId = task.getDriverTaskId().getQueryId();
         Map<FragmentInstanceId, Set<DriverTask>> queryRelatedTasks = 
queryMap.remove(queryId);
         if (queryRelatedTasks != null) {
@@ -586,7 +588,10 @@ public class DriverScheduler implements IDriverScheduler, 
IService {
                   if (task.equals(otherTask)) {
                     continue;
                   }
-                  
otherTask.setAbortCause(DriverTaskAbortedException.BY_QUERY_CASCADING_ABORTED);
+                  otherTask.setAbortCause(
+                      StringUtils.isEmpty(abortCause)
+                          ? 
DriverTaskAbortedException.BY_QUERY_CASCADING_ABORTED
+                          : abortCause);
                   clearDriverTask(otherTask);
                 }
               }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FixedRateFragInsStateTracker.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FixedRateFragInsStateTracker.java
index 65a22e7190a..36e4bdc99ac 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FixedRateFragInsStateTracker.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FixedRateFragInsStateTracker.java
@@ -124,7 +124,9 @@ public class FixedRateFragInsStateTracker extends 
AbstractFragInsStateTracker {
                   instance.getId(), k -> new 
InstanceStateMetrics(instance.isRoot()));
           if (needPrintState(
               metrics.lastState, instanceInfo.getState(), 
metrics.durationToLastPrintInMS)) {
-            logger.debug("[PrintFIState] state is {}", 
instanceInfo.getState());
+            if (logger.isDebugEnabled()) {
+              logger.debug("[PrintFIState] state is {}", 
instanceInfo.getState());
+            }
             metrics.reset(instanceInfo.getState());
           } else {
             metrics.addDuration(STATE_FETCH_INTERVAL_IN_MS);
@@ -144,7 +146,9 @@ public class FixedRateFragInsStateTracker extends 
AbstractFragInsStateTracker {
       if (instanceInfo.getFailureInfoList() == null
           || instanceInfo.getFailureInfoList().isEmpty()) {
         stateMachine.transitionToFailed(
-            new RuntimeException(String.format("FragmentInstance[%s] is 
failed.", instanceId)));
+            new RuntimeException(
+                String.format(
+                    "FragmentInstance[%s] is failed. %s", instanceId, 
instanceInfo.getMessage())));
       } else {
         
stateMachine.transitionToFailed(instanceInfo.getFailureInfoList().get(0).toException());
       }

Reply via email to