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

justinchen pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/dev/1.3 by this push:
     new 6893919f813 Pipe: Reduce IoTDBAirGapConnector Handshake times 
(#15990)(#15993)
6893919f813 is described below

commit 6893919f813ff8d6339378b824d838cf2aff3930
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 444ba634a81..7447ab38896 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