This is an automated email from the ASF dual-hosted git repository.
JackieTien97 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new f92e9c0a2c5 Fix transport leak in ConfigNodeClient during leader
redirect (#17631)
f92e9c0a2c5 is described below
commit f92e9c0a2c52888fc29ea086f5d715a3b5a4b941
Author: Yongzao <[email protected]>
AuthorDate: Sun May 10 15:42:23 2026 +0800
Fix transport leak in ConfigNodeClient during leader redirect (#17631)
---
.../org/apache/iotdb/db/protocol/client/ConfigNodeClient.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/client/ConfigNodeClient.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/client/ConfigNodeClient.java
index c552bafc14a..613fbcf5d95 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/client/ConfigNodeClient.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/client/ConfigNodeClient.java
@@ -265,6 +265,10 @@ public class ConfigNodeClient implements
IConfigNodeRPCService.Iface, ThriftClie
}
public void connect(TEndPoint endpoint, int timeoutMs) throws TException {
+ // Close existing transport before reassigning to prevent connection leaks.
+ if (transport != null) {
+ transport.close();
+ }
transport =
commonConfig.isEnableInternalSSL()
? DeepCopyRpcTransportFactory.INSTANCE.getTransport(
@@ -327,10 +331,6 @@ public class ConfigNodeClient implements
IConfigNodeRPCService.Iface, ThriftClie
}
}
- if (transport != null) {
- transport.close();
- }
-
for (int tryHostNum = 0; tryHostNum < configNodes.size(); tryHostNum++) {
cursor = (cursor + 1) % configNodes.size();
TEndPoint tryEndpoint = configNodes.get(cursor);