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]