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 2022/11/19 06:46:29 UTC

[iotdb] 01/01: make thread group of ProcedureExecutor warn

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

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

commit 7918559b83f023ad5d93aef58bb0347aa4296cb8
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Sat Nov 19 14:46:13 2022 +0800

    make thread group of ProcedureExecutor warn
---
 .../iotdb/confignode/procedure/ProcedureExecutor.java     |  7 +++----
 .../confignode/procedure/env/ConfigNodeProcedureEnv.java  | 15 +++++++++++----
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/ProcedureExecutor.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/ProcedureExecutor.java
index 2b9d631541..96256287aa 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/ProcedureExecutor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/ProcedureExecutor.java
@@ -865,10 +865,9 @@ public class ProcedureExecutor<Env> {
     try {
       threadGroup.destroy();
     } catch (IllegalThreadStateException e) {
-      LOG.error(
-          "ThreadGroup {} contains running threads; {}: See STDOUT",
-          this.threadGroup,
-          e.getMessage());
+      LOG.warn(
+          "ProcedureExecutor threadGroup {} contains running threads which are used by non-procedure module.",
+          this.threadGroup);
       this.threadGroup.list();
     }
   }
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
index b0667b09ae..94a9c98bfa 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
@@ -342,15 +342,22 @@ public class ConfigNodeProcedureEnv {
   public void broadCastTheLatestConfigNodeGroup() {
     List<TConfigNodeLocation> registeredConfigNodes =
         configManager.getNodeManager().getRegisteredConfigNodes();
+    Map<Integer, TDataNodeLocation> registeredDataNodes =
+        configManager.getNodeManager().getRegisteredDataNodeLocations();
     AsyncClientHandler<TUpdateConfigNodeGroupReq, TSStatus> clientHandler =
         new AsyncClientHandler<>(
             DataNodeRequestType.BROADCAST_LATEST_CONFIG_NODE_GROUP,
             new TUpdateConfigNodeGroupReq(registeredConfigNodes),
-            configManager.getNodeManager().getRegisteredDataNodeLocations());
+            registeredDataNodes);
 
-    LOG.info("Begin to broadcast the latest configNodeGroup: {}", registeredConfigNodes);
-    AsyncDataNodeClientPool.getInstance().sendAsyncRequestToDataNodeWithRetry(clientHandler);
-    LOG.info("Broadcast the latest configNodeGroup finished.");
+    if (registeredDataNodes.size() > 0) {
+      LOG.info(
+          "Begin to broadcast the latest configNodeGroup to DataNodes, ConfigNodeGroups: {}, DataNodes: {}",
+          registeredConfigNodes,
+          registeredDataNodes.values());
+      AsyncDataNodeClientPool.getInstance().sendAsyncRequestToDataNodeWithRetry(clientHandler);
+      LOG.info("Broadcast the latest configNodeGroup to DataNodes finished.");
+    }
   }
 
   /**