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