Repository: hadoop Updated Branches: refs/heads/HDFS-7240 dd43835b3 -> c36a850af
HDFS-13413. Ozone: ClusterId and DatanodeUuid should be marked mandatory fields in SCMRegisteredCmdResponseProto. Contributed by Shashikant Banerjee. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c36a850a Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c36a850a Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c36a850a Branch: refs/heads/HDFS-7240 Commit: c36a850af5f554f210010e7fb8039953de283746 Parents: dd43835 Author: Nanda kumar <na...@apache.org> Authored: Fri Apr 13 00:47:38 2018 +0530 Committer: Nanda kumar <na...@apache.org> Committed: Fri Apr 13 00:47:38 2018 +0530 ---------------------------------------------------------------------- .../common/states/endpoint/RegisterEndpointTask.java | 8 ++++++++ .../hadoop/ozone/protocol/commands/RegisteredCommand.java | 6 ++---- .../src/main/proto/StorageContainerDatanodeProtocol.proto | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/c36a850a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/RegisterEndpointTask.java ---------------------------------------------------------------------- diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/RegisterEndpointTask.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/RegisterEndpointTask.java index de186a7..ca3bef0 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/RegisterEndpointTask.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/RegisterEndpointTask.java @@ -17,6 +17,8 @@ package org.apache.hadoop.ozone.container.common.states.endpoint; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Preconditions; +import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hdds.scm.ScmConfigKeys; import org.apache.hadoop.hdds.protocol.DatanodeDetails; @@ -28,6 +30,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; +import java.util.UUID; import java.util.concurrent.Callable; import java.util.concurrent.Future; @@ -98,6 +101,11 @@ public final class RegisterEndpointTask implements SCMRegisteredCmdResponseProto response = rpcEndPoint.getEndPoint() .register(datanodeDetails.getProtoBufMessage(), conf.getStrings(ScmConfigKeys.OZONE_SCM_NAMES)); + Preconditions.checkState(UUID.fromString(response.getDatanodeUUID()) + .equals(datanodeDetails.getUuid()), + "Unexpected datanode ID in the response."); + Preconditions.checkState(!StringUtils.isBlank(response.getClusterID()), + "Invalid cluster ID in the response."); if (response.hasHostname() && response.hasIpAddress()) { datanodeDetails.setHostName(response.getHostname()); datanodeDetails.setIpAddress(response.getIpAddress()); http://git-wip-us.apache.org/repos/asf/hadoop/blob/c36a850a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/RegisteredCommand.java ---------------------------------------------------------------------- diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/RegisteredCommand.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/RegisteredCommand.java index a7e81d8..593b84b 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/RegisteredCommand.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/RegisteredCommand.java @@ -162,13 +162,11 @@ public class RegisteredCommand extends Preconditions.checkNotNull(response); if (response.hasHostname() && response.hasIpAddress()) { return new RegisteredCommand(response.getErrorCode(), - response.hasDatanodeUUID() ? response.getDatanodeUUID() : "", - response.hasClusterID() ? response.getClusterID() : "", + response.getDatanodeUUID(), response.getClusterID(), response.getHostname(), response.getIpAddress()); } else { return new RegisteredCommand(response.getErrorCode(), - response.hasDatanodeUUID() ? response.getDatanodeUUID() : "", - response.hasClusterID() ? response.getClusterID() : ""); + response.getDatanodeUUID(), response.getClusterID()); } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/c36a850a/hadoop-hdds/container-service/src/main/proto/StorageContainerDatanodeProtocol.proto ---------------------------------------------------------------------- diff --git a/hadoop-hdds/container-service/src/main/proto/StorageContainerDatanodeProtocol.proto b/hadoop-hdds/container-service/src/main/proto/StorageContainerDatanodeProtocol.proto index e81310f..03b85e5 100644 --- a/hadoop-hdds/container-service/src/main/proto/StorageContainerDatanodeProtocol.proto +++ b/hadoop-hdds/container-service/src/main/proto/StorageContainerDatanodeProtocol.proto @@ -178,8 +178,8 @@ message SCMRegisteredCmdResponseProto { errorNodeNotPermitted = 2; } required ErrorCode errorCode = 2; - optional string datanodeUUID = 3; - optional string clusterID = 4; + required string datanodeUUID = 3; + required string clusterID = 4; optional SCMNodeAddressList addressList = 5; optional string hostname = 6; optional string ipAddress = 7; --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org