[08/37] hadoop git commit: HDDS-133:Change format of .container files to Yaml. Contributed by Bharat Viswanadham

2018-07-09 Thread bharat
HDDS-133:Change format of .container files to Yaml. 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/143dd560
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/143dd560
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/143dd560

Branch: refs/heads/trunk
Commit: 143dd560bf506fafd849aeb47a42becc6c13330d
Parents: 772c953
Author: Bharat Viswanadham 
Authored: Mon Jun 11 09:04:54 2018 -0700
Committer: Bharat Viswanadham 
Committed: Mon Jun 11 09:04:54 2018 -0700

--
 hadoop-hdds/container-service/pom.xml   |   6 +
 .../common/impl/ChunkLayOutVersion.java |  18 ++
 .../container/common/impl/ContainerData.java|  28 +-
 .../common/impl/KeyValueContainerData.java  |  19 +-
 .../container/common/impl/KeyValueYaml.java | 274 +++
 .../common/TestKeyValueContainerData.java   |  15 +-
 .../container/common/impl/TestKeyValueYaml.java | 158 +++
 .../test/resources/additionalfields.container   |   9 +
 .../src/test/resources/incorrect.container  |  10 +
 hadoop-hdds/pom.xml |   2 +
 10 files changed, 521 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/143dd560/hadoop-hdds/container-service/pom.xml
--
diff --git a/hadoop-hdds/container-service/pom.xml 
b/hadoop-hdds/container-service/pom.xml
index 542462e..43f400c 100644
--- a/hadoop-hdds/container-service/pom.xml
+++ b/hadoop-hdds/container-service/pom.xml
@@ -53,6 +53,12 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd";>
 
 
 
+  org.yaml
+  snakeyaml
+  1.8
+
+
+
   io.dropwizard.metrics
   metrics-core
   test

http://git-wip-us.apache.org/repos/asf/hadoop/blob/143dd560/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
--
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
index fff68de6..d1b1bd6 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
@@ -18,6 +18,8 @@
 package org.apache.hadoop.ozone.container.common.impl;
 
 
+import com.google.common.base.Preconditions;
+
 /**
  * Defines layout versions for the Chunks.
  */
@@ -43,6 +45,22 @@ public final class ChunkLayOutVersion {
   }
 
   /**
+   * Return ChunkLayOutVersion object for the chunkVersion.
+   * @param chunkVersion
+   * @return ChunkLayOutVersion
+   */
+  public static ChunkLayOutVersion getChunkLayOutVersion(int chunkVersion) {
+Preconditions.checkArgument((chunkVersion <= ChunkLayOutVersion
+.getLatestVersion().getVersion()));
+for(ChunkLayOutVersion chunkLayOutVersion : CHUNK_LAYOUT_VERSION_INFOS) {
+  if(chunkLayOutVersion.getVersion() == chunkVersion) {
+return chunkLayOutVersion;
+  }
+}
+return null;
+  }
+
+  /**
* Returns all versions.
*
* @return Version info array.

http://git-wip-us.apache.org/repos/asf/hadoop/blob/143dd560/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
--
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
index 06aae66..0bd7795 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
@@ -42,7 +42,7 @@ public class ContainerData {
   private final long containerId;
 
   // Layout version of the container data
-  private final ChunkLayOutVersion layOutVersion;
+  private final int layOutVersion;
 
   // Metadata of the container will be a key value pair.
   // This can hold information like volume name, owner etc.,
@@ -67,7 +67,27 @@ public class ContainerData {
   public ContainerData(ContainerType type, long containerId) {
 this.containerType = type;
 this.containerId = containerId;
-this.layOutVersion = ChunkLayOutVersion.getLatestVersion();
+this.layOutVersion = ChunkLayOutVersion.getLatestVersion().getVersion();
+th

hadoop git commit: HDDS-133:Change format of .container files to Yaml. Contributed by Bharat Viswanadham

2018-06-11 Thread bharat
Repository: hadoop
Updated Branches:
  refs/heads/HDDS-48 772c95395 -> 143dd560b


HDDS-133:Change format of .container files to Yaml. 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/143dd560
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/143dd560
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/143dd560

Branch: refs/heads/HDDS-48
Commit: 143dd560bf506fafd849aeb47a42becc6c13330d
Parents: 772c953
Author: Bharat Viswanadham 
Authored: Mon Jun 11 09:04:54 2018 -0700
Committer: Bharat Viswanadham 
Committed: Mon Jun 11 09:04:54 2018 -0700

--
 hadoop-hdds/container-service/pom.xml   |   6 +
 .../common/impl/ChunkLayOutVersion.java |  18 ++
 .../container/common/impl/ContainerData.java|  28 +-
 .../common/impl/KeyValueContainerData.java  |  19 +-
 .../container/common/impl/KeyValueYaml.java | 274 +++
 .../common/TestKeyValueContainerData.java   |  15 +-
 .../container/common/impl/TestKeyValueYaml.java | 158 +++
 .../test/resources/additionalfields.container   |   9 +
 .../src/test/resources/incorrect.container  |  10 +
 hadoop-hdds/pom.xml |   2 +
 10 files changed, 521 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/143dd560/hadoop-hdds/container-service/pom.xml
--
diff --git a/hadoop-hdds/container-service/pom.xml 
b/hadoop-hdds/container-service/pom.xml
index 542462e..43f400c 100644
--- a/hadoop-hdds/container-service/pom.xml
+++ b/hadoop-hdds/container-service/pom.xml
@@ -53,6 +53,12 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd";>
 
 
 
+  org.yaml
+  snakeyaml
+  1.8
+
+
+
   io.dropwizard.metrics
   metrics-core
   test

http://git-wip-us.apache.org/repos/asf/hadoop/blob/143dd560/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
--
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
index fff68de6..d1b1bd6 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ChunkLayOutVersion.java
@@ -18,6 +18,8 @@
 package org.apache.hadoop.ozone.container.common.impl;
 
 
+import com.google.common.base.Preconditions;
+
 /**
  * Defines layout versions for the Chunks.
  */
@@ -43,6 +45,22 @@ public final class ChunkLayOutVersion {
   }
 
   /**
+   * Return ChunkLayOutVersion object for the chunkVersion.
+   * @param chunkVersion
+   * @return ChunkLayOutVersion
+   */
+  public static ChunkLayOutVersion getChunkLayOutVersion(int chunkVersion) {
+Preconditions.checkArgument((chunkVersion <= ChunkLayOutVersion
+.getLatestVersion().getVersion()));
+for(ChunkLayOutVersion chunkLayOutVersion : CHUNK_LAYOUT_VERSION_INFOS) {
+  if(chunkLayOutVersion.getVersion() == chunkVersion) {
+return chunkLayOutVersion;
+  }
+}
+return null;
+  }
+
+  /**
* Returns all versions.
*
* @return Version info array.

http://git-wip-us.apache.org/repos/asf/hadoop/blob/143dd560/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
--
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
index 06aae66..0bd7795 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerData.java
@@ -42,7 +42,7 @@ public class ContainerData {
   private final long containerId;
 
   // Layout version of the container data
-  private final ChunkLayOutVersion layOutVersion;
+  private final int layOutVersion;
 
   // Metadata of the container will be a key value pair.
   // This can hold information like volume name, owner etc.,
@@ -67,7 +67,27 @@ public class ContainerData {
   public ContainerData(ContainerType type, long containerId) {
 this.containerType = type;
 this.containerId = containerId;
-this.layOutVersion = ChunkLayOutVersion.getLatestVersion();