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

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


The following commit(s) were added to refs/heads/xingtanzjr/query_retry by this 
push:
     new 096bf007c3 fix the issues both in confignode and QueryExecution
096bf007c3 is described below

commit 096bf007c31a208db7be922eb9f8bb23aa2f14b4
Author: Jinrui.Zhang <[email protected]>
AuthorDate: Thu Jul 14 11:39:18 2022 +0800

    fix the issues both in confignode and QueryExecution
---
 .../confignode/manager/load/heartbeat/DataNodeHeartbeatCache.java  | 5 +++++
 .../org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java     | 7 +++++++
 2 files changed, 12 insertions(+)

diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/DataNodeHeartbeatCache.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/DataNodeHeartbeatCache.java
index a836a6d2e2..d230543694 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/DataNodeHeartbeatCache.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/DataNodeHeartbeatCache.java
@@ -68,6 +68,11 @@ public class DataNodeHeartbeatCache implements INodeCache {
       }
     }
 
+    /* Update loadScore */
+    if (lastSendTime > 0) {
+      loadScore = -lastSendTime;
+    }
+
     NodeStatus originStatus;
     switch (status) {
       case Running:
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
index a503a92999..0225d403eb 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
@@ -88,6 +88,7 @@ public class QueryExecution implements IQueryExecution {
 
   private static final IoTDBConfig config = 
IoTDBDescriptor.getInstance().getConfig();
   private static final int MAX_RETRY_COUNT = 3;
+  private static final long RETRY_INTERVAL_IN_MS = 2000;
   private int retryCount = 0;
   private final MPPQueryContext context;
   private IScheduler scheduler;
@@ -182,6 +183,12 @@ public class QueryExecution implements IQueryExecution {
       stateMachine.transitionToFailed();
       return;
     }
+    try {
+      Thread.sleep(RETRY_INTERVAL_IN_MS);
+    } catch (InterruptedException e) {
+      logger.error("interrupted when waiting retry");
+      Thread.currentThread().interrupt();
+    }
     retryCount++;
     logger.error("error when executing query. {}", 
stateMachine.getFailureMessage());
     logger.warn("start to retry. Retry count is: {}", retryCount);

Reply via email to