diff options
author | Mukul Kumar Singh <msingh@apache.org> | 2018-05-21 22:57:08 +0530 |
---|---|---|
committer | Mukul Kumar Singh <msingh@apache.org> | 2018-05-21 23:08:20 +0530 |
commit | 132a547dea4081948c39c149c59d6453003fa277 (patch) | |
tree | 244985c29b9e0440353f56dc6fc194a3248f9390 /hadoop-hdds/container-service/src/main/java/org/apache | |
parent | 73e9120ad79c73703de21e0084591861813f3279 (diff) |
HDDS-71. Send ContainerType to Datanode during container creation. Contributed by Bharat Viswanadham.
Diffstat (limited to 'hadoop-hdds/container-service/src/main/java/org/apache')
2 files changed, 43 insertions, 0 deletions
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerData.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerData.java index 63111c814f..2a079b0af0 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerData.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerData.java @@ -22,6 +22,8 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hdds.scm.ScmConfigKeys; import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos; import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos + .ContainerType; +import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos .ContainerLifeCycleState; import org.apache.hadoop.ozone.OzoneConsts; @@ -47,6 +49,8 @@ public class ContainerData { private long maxSize; private long containerID; private ContainerLifeCycleState state; + private ContainerType containerType; + private String containerDBType; /** * Constructs a ContainerData Object. @@ -99,9 +103,26 @@ public class ContainerData { if (protoData.hasSize()) { data.setMaxSize(protoData.getSize()); } + + if(protoData.hasContainerType()) { + data.setContainerType(protoData.getContainerType()); + } + + if(protoData.hasContainerDBType()) { + data.setContainerDBType(protoData.getContainerDBType()); + } + return data; } + public String getContainerDBType() { + return containerDBType; + } + + public void setContainerDBType(String containerDBType) { + this.containerDBType = containerDBType; + } + /** * Returns a ProtoBuf Message from ContainerData. * @@ -141,9 +162,24 @@ public class ContainerData { builder.setSize(this.getMaxSize()); } + if(this.getContainerType() != null) { + builder.setContainerType(containerType); + } + + if(this.getContainerDBType() != null) { + builder.setContainerDBType(containerDBType); + } + return builder.build(); } + public void setContainerType(ContainerType containerType) { + this.containerType = containerType; + } + + public ContainerType getContainerType() { + return this.containerType; + } /** * Adds metadata. */ diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerManagerImpl.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerManagerImpl.java index 039b4c3293..c443ace085 100644 --- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerManagerImpl.java +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerManagerImpl.java @@ -42,6 +42,7 @@ import org.apache.hadoop.hdds.protocol.proto import org.apache.hadoop.hdds.protocol.proto .StorageContainerDatanodeProtocolProtos.StorageTypeProto; import org.apache.hadoop.io.IOUtils; +import org.apache.hadoop.ozone.OzoneConfigKeys; import org.apache.hadoop.ozone.OzoneConsts; import org.apache.hadoop.ozone.container.common.helpers.ContainerData; import org.apache.hadoop.ozone.container.common.helpers.ContainerUtils; @@ -400,6 +401,12 @@ public class ContainerManagerImpl implements ContainerManager { .toString()); containerData.setContainerPath(containerFile.toString()); + if(containerData.getContainerDBType() == null) { + String impl = conf.getTrimmed(OzoneConfigKeys.OZONE_METADATA_STORE_IMPL, + OzoneConfigKeys.OZONE_METADATA_STORE_IMPL_DEFAULT); + containerData.setContainerDBType(impl); + } + ContainerProtos.ContainerData protoData = containerData .getProtoBufMessage(); protoData.writeDelimitedTo(dos); |