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

yiyang0203 pushed a commit to branch ozone-1.4
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/ozone-1.4 by this push:
     new 8510c6b3d5 HDDS-9971. Fix issues in allocateBlock when clientMachine 
is null (#5837)
8510c6b3d5 is described below

commit 8510c6b3d560860d68376f95a53bbbd053ea0705
Author: Ivan Andika <[email protected]>
AuthorDate: Wed Dec 20 23:51:46 2023 +0800

    HDDS-9971. Fix issues in allocateBlock when clientMachine is null (#5837)
---
 .../protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java  | 6 +++++-
 .../org/apache/hadoop/hdds/scm/server/SCMBlockProtocolServer.java   | 4 ++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
index b072c3690b..2e72496999 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.hdds.annotation.InterfaceAudience;
 import org.apache.hadoop.hdds.client.ContainerBlockID;
 import org.apache.hadoop.hdds.client.ECReplicationConfig;
@@ -162,9 +163,12 @@ public final class 
ScmBlockLocationProtocolClientSideTranslatorPB
             .setNumBlocks(num)
             .setType(replicationConfig.getReplicationType())
             .setOwner(owner)
-            .setClient(clientMachine)
             .setExcludeList(excludeList.getProtoBuf());
 
+    if (StringUtils.isNotEmpty(clientMachine)) {
+      requestBuilder.setClient(clientMachine);
+    }
+
     switch (replicationConfig.getReplicationType()) {
     case STAND_ALONE:
       requestBuilder.setFactor(
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMBlockProtocolServer.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMBlockProtocolServer.java
index c610c95d2b..41c96d969f 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMBlockProtocolServer.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMBlockProtocolServer.java
@@ -29,6 +29,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeoutException;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.fs.CommonConfigurationKeys;
 import org.apache.hadoop.hdds.client.BlockID;
 import org.apache.hadoop.hdds.client.ReplicationConfig;
@@ -383,6 +384,9 @@ public class SCMBlockProtocolServer implements
   }
 
   private Node getClientNode(String clientMachine) {
+    if (StringUtils.isEmpty(clientMachine)) {
+      return null;
+    }
     List<DatanodeDetails> datanodes = scm.getScmNodeManager()
         .getNodesByAddress(clientMachine);
     return !datanodes.isEmpty() ? datanodes.get(0) :


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

Reply via email to