You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ta...@apache.org on 2022/04/19 09:43:30 UTC

[iotdb] 02/03: add clear & close interface

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

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

commit 414d2b38e3bcc9d152b843bfe2334b91d8ddc8c2
Author: LebronAl <TX...@gmail.com>
AuthorDate: Tue Apr 19 15:02:02 2022 +0800

    add clear & close interface
---
 .../apache/iotdb/commons/client/ClientManager.java   | 20 ++++++++++++++++++++
 .../apache/iotdb/commons/client/IClientManager.java  |  4 ++++
 2 files changed, 24 insertions(+)

diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/client/ClientManager.java b/node-commons/src/main/java/org/apache/iotdb/commons/client/ClientManager.java
index 10ad2090c0..0513af1a5d 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/client/ClientManager.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/client/ClientManager.java
@@ -68,4 +68,24 @@ public class ClientManager<E> implements IClientManager<E> {
       }
     }
   }
+
+  @Override
+  public void clear(EndPoint node) {
+    if (node != null) {
+      try {
+        pool.clear(node);
+      } catch (Exception e) {
+        logger.error(String.format("clear all client in pool for node %s failed.", node), e);
+      }
+    }
+  }
+
+  @Override
+  public void close() {
+    try {
+      pool.close();
+    } catch (Exception e) {
+      logger.error("close client pool failed", e);
+    }
+  }
 }
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/client/IClientManager.java b/node-commons/src/main/java/org/apache/iotdb/commons/client/IClientManager.java
index 11883aefda..00ee3d45a5 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/client/IClientManager.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/client/IClientManager.java
@@ -29,4 +29,8 @@ public interface IClientManager<E> {
   Optional<E> borrowClient(EndPoint node) throws IOException;
 
   void returnClient(EndPoint node, E client);
+
+  void clear(EndPoint node);
+
+  void close();
 }