summaryrefslogtreecommitdiff
path: root/hadoop-hdds/container-service/src/main/java/org/apache
diff options
context:
space:
mode:
authorMukul Kumar Singh <msingh@apache.org>2018-05-21 22:57:08 +0530
committerMukul Kumar Singh <msingh@apache.org>2018-05-21 23:08:20 +0530
commit132a547dea4081948c39c149c59d6453003fa277 (patch)
tree244985c29b9e0440353f56dc6fc194a3248f9390 /hadoop-hdds/container-service/src/main/java/org/apache
parent73e9120ad79c73703de21e0084591861813f3279 (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')
-rw-r--r--hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerData.java36
-rw-r--r--hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerManagerImpl.java7
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);