You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ar...@apache.org on 2018/05/22 20:15:02 UTC
[34/50] [abbrv] hadoop git commit: HDDS-71. Send ContainerType to
Datanode during container creation. Contributed by Bharat Viswanadham.
HDDS-71. Send ContainerType to Datanode during container creation. Contributed by Bharat Viswanadham.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/132a547d
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/132a547d
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/132a547d
Branch: refs/heads/HDDS-48
Commit: 132a547dea4081948c39c149c59d6453003fa277
Parents: 73e9120
Author: Mukul Kumar Singh <ms...@apache.org>
Authored: Mon May 21 22:57:08 2018 +0530
Committer: Mukul Kumar Singh <ms...@apache.org>
Committed: Mon May 21 23:08:20 2018 +0530
----------------------------------------------------------------------
.../scm/storage/ContainerProtocolCalls.java | 2 ++
.../main/proto/DatanodeContainerProtocol.proto | 6 ++++
.../container/common/helpers/ContainerData.java | 36 ++++++++++++++++++++
.../common/impl/ContainerManagerImpl.java | 7 ++++
4 files changed, 51 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/132a547d/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/storage/ContainerProtocolCalls.java
----------------------------------------------------------------------
diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/storage/ContainerProtocolCalls.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/storage/ContainerProtocolCalls.java
index 5fbf373..d3af083 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/storage/ContainerProtocolCalls.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/storage/ContainerProtocolCalls.java
@@ -243,6 +243,8 @@ public final class ContainerProtocolCalls {
ContainerProtos.ContainerData.Builder containerData = ContainerProtos
.ContainerData.newBuilder();
containerData.setContainerID(containerID);
+ containerData.setContainerType(ContainerProtos.ContainerType
+ .KeyValueContainer);
createRequest.setContainerData(containerData.build());
String id = client.getPipeline().getLeader().getUuidString();
http://git-wip-us.apache.org/repos/asf/hadoop/blob/132a547d/hadoop-hdds/common/src/main/proto/DatanodeContainerProtocol.proto
----------------------------------------------------------------------
diff --git a/hadoop-hdds/common/src/main/proto/DatanodeContainerProtocol.proto b/hadoop-hdds/common/src/main/proto/DatanodeContainerProtocol.proto
index 3479866..e7e5b2b 100644
--- a/hadoop-hdds/common/src/main/proto/DatanodeContainerProtocol.proto
+++ b/hadoop-hdds/common/src/main/proto/DatanodeContainerProtocol.proto
@@ -225,6 +225,12 @@ message ContainerData {
optional int64 size = 7;
optional int64 keyCount = 8;
optional ContainerLifeCycleState state = 9 [default = OPEN];
+ optional ContainerType containerType = 10 [default = KeyValueContainer];
+ optional string containerDBType = 11;
+}
+
+enum ContainerType {
+ KeyValueContainer = 1;
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/132a547d/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/ContainerData.java
----------------------------------------------------------------------
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 63111c8..2a079b0 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.
*/
http://git-wip-us.apache.org/repos/asf/hadoop/blob/132a547d/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerManagerImpl.java
----------------------------------------------------------------------
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 039b4c3..c443ace 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);
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org