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

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

commit c9f143a15e8f41b593191bde6cc9c84de458869c
Author: Zhenyu Luo <[email protected]>
AuthorDate: Tue Jul 22 14:28:43 2025 +0800

    Pipe: Reduce IoTDBAirGapConnector Handshake times (#15990)(#15993)
---
 .../commons/pipe/connector/protocol/IoTDBAirGapConnector.java | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/protocol/IoTDBAirGapConnector.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/protocol/IoTDBAirGapConnector.java
index 01fcd45ffba..84f5fd30009 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/protocol/IoTDBAirGapConnector.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/protocol/IoTDBAirGapConnector.java
@@ -85,6 +85,7 @@ public abstract class IoTDBAirGapConnector extends 
IoTDBConnector {
 
   protected final List<AirGapSocket> sockets = new ArrayList<>();
   protected final List<Boolean> isSocketAlive = new ArrayList<>();
+  private long lastCheckClientStatusTimestamp = 0L;
 
   private LoadBalancer loadBalancer;
   private long currentClientIndex = 0;
@@ -152,6 +153,15 @@ public abstract class IoTDBAirGapConnector extends 
IoTDBConnector {
   @Override
   @SuppressWarnings("java:S2095")
   public void handshake() throws Exception {
+    if (System.currentTimeMillis() - lastCheckClientStatusTimestamp
+        < 
PipeConfig.getInstance().getPipeCheckAllSyncClientLiveTimeIntervalMs()) {
+      for (int i = 0; i < sockets.size(); i++) {
+        if (Boolean.TRUE.equals(isSocketAlive.get(i))) {
+          return;
+        }
+      }
+    }
+
     for (int i = 0; i < sockets.size(); i++) {
       if (Boolean.TRUE.equals(isSocketAlive.get(i))) {
         continue;
@@ -208,6 +218,7 @@ public abstract class IoTDBAirGapConnector extends 
IoTDBConnector {
 
     for (int i = 0; i < sockets.size(); i++) {
       if (Boolean.TRUE.equals(isSocketAlive.get(i))) {
+        lastCheckClientStatusTimestamp = System.currentTimeMillis();
         return;
       }
     }

Reply via email to