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

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 7027ab7e91 HDDS-13124. Respect config 
hdds.datanode.use.datanode.hostname when reading from datanode (#8518)
7027ab7e91 is described below

commit 7027ab7e91a2f12b1ea9f560986ed39bbb4b55ea
Author: Ilya Kochankov <[email protected]>
AuthorDate: Wed May 28 12:46:56 2025 +0300

    HDDS-13124. Respect config hdds.datanode.use.datanode.hostname when reading 
from datanode (#8518)
---
 .../org/apache/hadoop/hdds/scm/XceiverClientGrpc.java  | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git 
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
 
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
index 105aa1bf4d..84d66970e2 100644
--- 
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
+++ 
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
@@ -38,6 +38,7 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
+import org.apache.hadoop.hdds.HddsConfigKeys;
 import org.apache.hadoop.hdds.HddsUtils;
 import org.apache.hadoop.hdds.conf.ConfigurationSource;
 import org.apache.hadoop.hdds.protocol.DatanodeDetails;
@@ -184,8 +185,13 @@ private synchronized void 
connectToDatanode(DatanodeDetails dn)
 
   protected NettyChannelBuilder createChannel(DatanodeDetails dn, int port)
       throws IOException {
-    NettyChannelBuilder channelBuilder =
-        NettyChannelBuilder.forAddress(dn.getIpAddress(), port).usePlaintext()
+    String dnHost;
+    if (datanodeUseHostName()) {
+      dnHost = dn.getHostName();
+    } else {
+      dnHost = dn.getIpAddress();
+    }
+    NettyChannelBuilder channelBuilder = 
NettyChannelBuilder.forAddress(dnHost, port)
             .maxInboundMessageSize(OzoneConsts.OZONE_SCM_CHUNK_MAX_SIZE)
             .proxyDetector(uri -> null)
             .intercept(new GrpcClientInterceptor());
@@ -205,6 +211,12 @@ protected NettyChannelBuilder 
createChannel(DatanodeDetails dn, int port)
     return channelBuilder;
   }
 
+  private boolean datanodeUseHostName() {
+    return config.getBoolean(
+            HddsConfigKeys.HDDS_DATANODE_USE_DN_HOSTNAME,
+            HddsConfigKeys.HDDS_DATANODE_USE_DN_HOSTNAME_DEFAULT);
+  }
+
   /**
    * Checks if the client has a live connection channel to the specified
    * Datanode.
@@ -570,7 +582,7 @@ public XceiverClientReply sendCommandAsync(
     DatanodeID dnId = dn.getID();
     if (LOG.isDebugEnabled()) {
       LOG.debug("Send command {} to datanode {}",
-          request.getCmdType(), dn.getIpAddress());
+          request.getCmdType(), dn);
     }
     final CompletableFuture<ContainerCommandResponseProto> replyFuture =
         new CompletableFuture<>();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to