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

critas pushed a commit to branch wx_internal_address
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 0c0b9a36ebdc981a114f7b33707655eb75467e5f
Author: CritasWang <[email protected]>
AuthorDate: Fri Nov 7 18:24:39 2025 +0800

    chore: Bind real internal address for Thrift and Raft services
---
 .../apache/iotdb/consensus/ratis/RatisConsensus.java |  1 +
 .../apache/iotdb/db/service/ExternalRPCService.java  |  4 ++--
 .../commons/service/AbstractThriftServiceThread.java | 20 +++++++++++++++-----
 3 files changed, 18 insertions(+), 7 deletions(-)

diff --git 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/ratis/RatisConsensus.java
 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/ratis/RatisConsensus.java
index 045fa779174..265192858bf 100644
--- 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/ratis/RatisConsensus.java
+++ 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/ratis/RatisConsensus.java
@@ -157,6 +157,7 @@ class RatisConsensus implements IConsensus {
     this.storageDir = new File(config.getStorageDir());
 
     RaftServerConfigKeys.setStorageDir(properties, 
Collections.singletonList(storageDir));
+    GrpcConfigKeys.Server.setHost(properties, 
config.getThisNodeEndPoint().getIp());
     GrpcConfigKeys.Server.setPort(properties, 
config.getThisNodeEndPoint().getPort());
 
     this.parameters = Utils.initRatisConfig(properties, 
config.getRatisConfig());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/ExternalRPCService.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/ExternalRPCService.java
index dcc8690de8a..7086d2ae6b4 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/ExternalRPCService.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/ExternalRPCService.java
@@ -71,7 +71,7 @@ public class ExternalRPCService extends ThriftService 
implements ExternalRPCServ
                   processor,
                   getID().getName(),
                   ThreadName.CLIENT_RPC_PROCESSOR.getName(),
-                  getBindIP(),
+                  null,
                   getBindPort(),
                   config.getRpcMaxConcurrentClientNum(),
                   config.getThriftServerAwaitTimeForStopService(),
@@ -84,7 +84,7 @@ public class ExternalRPCService extends ThriftService 
implements ExternalRPCServ
                   processor,
                   getID().getName(),
                   ThreadName.CLIENT_RPC_PROCESSOR.getName(),
-                  getBindIP(),
+                  null,
                   getBindPort(),
                   config.getRpcMaxConcurrentClientNum(),
                   config.getThriftServerAwaitTimeForStopService(),
diff --git 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/AbstractThriftServiceThread.java
 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/AbstractThriftServiceThread.java
index 39b11ba677a..dc3b05ecd2a 100644
--- 
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/AbstractThriftServiceThread.java
+++ 
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/AbstractThriftServiceThread.java
@@ -192,7 +192,10 @@ public abstract class AbstractThriftServiceThread extends 
Thread {
         params.setTrustStore(trustStorePath, trustStorePwd);
         params.requireClientAuth(true);
       }
-      InetSocketAddress socketAddress = new InetSocketAddress(bindAddress, 
port);
+      InetSocketAddress socketAddress =
+          bindAddress == null
+              ? new InetSocketAddress(port)
+              : new InetSocketAddress(bindAddress, port);
       serverTransport =
           TSSLTransportFactory.getServerSocket(
               socketAddress.getPort(), clientTimeout, 
socketAddress.getAddress(), params);
@@ -320,14 +323,21 @@ public abstract class AbstractThriftServiceThread extends 
Thread {
 
   @SuppressWarnings("java:S2259")
   private TServerTransport openTransport(String bindAddress, int port) throws 
TTransportException {
-    // bind any address
-    return new TServerSocket(new InetSocketAddress(port));
+    if (bindAddress == null) {
+      // bind any address
+      return new TServerSocket(new InetSocketAddress(port));
+    }
+    return new TServerSocket(new InetSocketAddress(bindAddress, port));
   }
 
   private TServerTransport openNonblockingTransport(
       String bindAddress, int port, int connectionTimeoutInMS) throws 
TTransportException {
-    // bind any address
-    return new TNonblockingServerSocket(new InetSocketAddress(port), 
connectionTimeoutInMS);
+    if (bindAddress == null) {
+      // bind any address
+      return new TNonblockingServerSocket(new InetSocketAddress(port), 
connectionTimeoutInMS);
+    }
+    return new TNonblockingServerSocket(
+        new InetSocketAddress(bindAddress, port), connectionTimeoutInMS);
   }
 
   public void setThreadStopLatch(CountDownLatch threadStopLatch) {

Reply via email to