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; } }
