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 ae...@apache.org on 2017/12/06 22:04:55 UTC

hadoop git commit: HDFS-12901. Ozone: SCM: Expose StorageContainerManager#getScmId through container protocol. Contributed by Nanda kumar.

Repository: hadoop
Updated Branches:
  refs/heads/HDFS-7240 0f5231374 -> 3408fdf91


HDFS-12901. Ozone: SCM: Expose StorageContainerManager#getScmId through container protocol. Contributed by Nanda kumar.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3408fdf9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3408fdf9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3408fdf9

Branch: refs/heads/HDFS-7240
Commit: 3408fdf91d8c5e0e9ed61e8b77516dd054248cad
Parents: 0f52313
Author: Anu Engineer <ae...@apache.org>
Authored: Wed Dec 6 13:59:29 2017 -0800
Committer: Anu Engineer <ae...@apache.org>
Committed: Wed Dec 6 13:59:29 2017 -0800

----------------------------------------------------------------------
 .../StorageContainerLocationProtocol.java         |  9 +++++++++
 ...ockLocationProtocolClientSideTranslatorPB.java |  8 +++-----
 ...nerLocationProtocolClientSideTranslatorPB.java | 18 ++++++++++++++++++
 .../hadoop-hdfs-client/src/main/proto/Ozone.proto |  9 +++++++++
 .../src/main/proto/ScmBlockLocationProtocol.proto | 18 ++----------------
 .../proto/StorageContainerLocationProtocol.proto  |  6 ++++++
 ...ockLocationProtocolServerSideTranslatorPB.java | 12 +++++-------
 ...nerLocationProtocolServerSideTranslatorPB.java | 17 +++++++++++++++++
 8 files changed, 69 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/3408fdf9/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java
index 90023bc..07d3f0d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocol/StorageContainerLocationProtocol.java
@@ -22,6 +22,7 @@ import java.util.EnumSet;
 import java.util.List;
 
 import org.apache.hadoop.ozone.protocol.proto.StorageContainerLocationProtocolProtos.NotifyObjectCreationStageRequestProto;
+import org.apache.hadoop.scm.ScmInfo;
 import org.apache.hadoop.scm.container.common.helpers.ContainerInfo;
 import org.apache.hadoop.scm.container.common.helpers.Pipeline;
 import org.apache.hadoop.ozone.protocol.proto.OzoneProtos;
@@ -117,4 +118,12 @@ public interface StorageContainerLocationProtocol {
    * @throws IOException
    */
   void closeContainer(String containerName) throws IOException;
+
+  /**
+   * Returns information about SCM.
+   *
+   * @return {@link ScmInfo}
+   * @throws IOException
+   */
+  ScmInfo getScmInfo() throws IOException;
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3408fdf9/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
index c47abd4..061f0fe 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
@@ -33,8 +33,6 @@ import org.apache.hadoop.ozone.protocol.proto.ScmBlockLocationProtocolProtos.Del
 import org.apache.hadoop.ozone.protocol.proto.ScmBlockLocationProtocolProtos.GetScmBlockLocationsRequestProto;
 import org.apache.hadoop.ozone.protocol.proto.ScmBlockLocationProtocolProtos.GetScmBlockLocationsResponseProto;
 import org.apache.hadoop.ozone.protocol.proto.ScmBlockLocationProtocolProtos.ScmLocatedBlockProto;
-import org.apache.hadoop.ozone.protocol.proto.ScmBlockLocationProtocolProtos.GetScmInfoRequestProto;
-import org.apache.hadoop.ozone.protocol.proto.ScmBlockLocationProtocolProtos.GetScmInfoRespsonseProto;
 import org.apache.hadoop.ozone.protocol.proto.ScmBlockLocationProtocolProtos.KeyBlocks;
 import org.apache.hadoop.scm.container.common.helpers.AllocatedBlock;
 import org.apache.hadoop.scm.ScmInfo;
@@ -185,9 +183,9 @@ public final class ScmBlockLocationProtocolClientSideTranslatorPB
    */
   @Override
   public ScmInfo getScmInfo() throws IOException {
-    GetScmInfoRequestProto request =
-        GetScmInfoRequestProto.getDefaultInstance();
-    GetScmInfoRespsonseProto resp;
+    OzoneProtos.GetScmInfoRequestProto request =
+        OzoneProtos.GetScmInfoRequestProto.getDefaultInstance();
+    OzoneProtos.GetScmInfoRespsonseProto resp;
     try {
       resp = rpcProxy.getScmInfo(NULL_RPC_CONTROLLER, request);
     } catch (ServiceException e) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3408fdf9/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
index 53fd202..0ac322d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
@@ -25,6 +25,7 @@ import org.apache.hadoop.ipc.ProtobufHelper;
 import org.apache.hadoop.ipc.ProtocolTranslator;
 import org.apache.hadoop.ipc.RPC;
 import org.apache.hadoop.ozone.protocol.proto.OzoneProtos;
+import org.apache.hadoop.scm.ScmInfo;
 import org.apache.hadoop.scm.container.common.helpers.ContainerInfo;
 import org.apache.hadoop.scm.protocol.StorageContainerLocationProtocol;
 import org.apache.hadoop.ozone.protocol.proto.StorageContainerLocationProtocolProtos.CloseContainerRequestProto;
@@ -288,6 +289,23 @@ public final class StorageContainerLocationProtocolClientSideTranslatorPB
   }
 
   @Override
+  public ScmInfo getScmInfo() throws IOException {
+    OzoneProtos.GetScmInfoRequestProto request =
+        OzoneProtos.GetScmInfoRequestProto.getDefaultInstance();
+    try {
+      OzoneProtos.GetScmInfoRespsonseProto resp = rpcProxy.getScmInfo(
+          NULL_RPC_CONTROLLER, request);
+      ScmInfo.Builder builder = new ScmInfo.Builder()
+          .setClusterId(resp.getClusterId())
+          .setScmId(resp.getScmId());
+      return builder.build();
+    } catch (ServiceException e) {
+      throw ProtobufHelper.getRemoteException(e);
+    }
+
+  }
+
+  @Override
   public Object getUnderlyingProxyObject() {
     return rpcProxy;
   }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3408fdf9/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto
index 29bc284..cf5a1e9 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/Ozone.proto
@@ -133,6 +133,15 @@ message SCMContainerInfo {
     optional Owner owner = 8 [default = OZONE];
 }
 
+message GetScmInfoRequestProto {
+}
+
+message GetScmInfoRespsonseProto {
+    required string clusterId = 1;
+    required string scmId = 2;
+}
+
+
 enum ReplicationType {
     RATIS = 1;
     STAND_ALONE = 2;

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3408fdf9/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto
index b6fd1bd..8a6359b 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/ScmBlockLocationProtocol.proto
@@ -132,20 +132,6 @@ message AllocateScmBlockResponseProto {
 }
 
 /**
- * Request for cluster Id and SCM Id from SCM.
- */
-message GetScmInfoRequestProto {
-}
-
-/**
- * Response from SCM for cluster Id and SCM ID.
- */
-message GetScmInfoRespsonseProto {
-    required string clusterId = 1;
-    required string scmId = 2;
-}
-
-/**
  * Protocol used from KeySpaceManager to StorageContainerManager.
  * See request and response messages for details of the RPC calls.
  */
@@ -174,6 +160,6 @@ service ScmBlockLocationProtocolService {
   /**
    * Gets the scmInfo from SCM.
    */
-  rpc getScmInfo(GetScmInfoRequestProto)
-      returns (GetScmInfoRespsonseProto);
+  rpc getScmInfo(hadoop.hdfs.ozone.GetScmInfoRequestProto)
+      returns (hadoop.hdfs.ozone.GetScmInfoRespsonseProto);
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3408fdf9/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto
index 735d5bc..e65f51b 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/proto/StorageContainerLocationProtocol.proto
@@ -211,4 +211,10 @@ service StorageContainerLocationProtocolService {
   */
   rpc allocatePipeline(PipelineRequestProto)
       returns (PipelineResponseProto);
+
+  /**
+  *  Returns information about SCM.
+  */
+  rpc getScmInfo(hadoop.hdfs.ozone.GetScmInfoRequestProto)
+      returns (hadoop.hdfs.ozone.GetScmInfoRespsonseProto);
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3408fdf9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java
index 9bf1e8d..9bdfe98 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/ScmBlockLocationProtocolServerSideTranslatorPB.java
@@ -22,6 +22,7 @@ import com.google.protobuf.RpcController;
 import com.google.protobuf.ServiceException;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.ozone.common.BlockGroup;
+import org.apache.hadoop.ozone.protocol.proto.OzoneProtos;
 import org.apache.hadoop.ozone.protocol.proto.ScmBlockLocationProtocolProtos.DeleteKeyBlocksResultProto;
 import org.apache.hadoop.scm.container.common.helpers.AllocatedBlock;
 import org.apache.hadoop.ozone.common.DeleteBlockGroupResult;
@@ -44,10 +45,6 @@ import org.apache.hadoop.ozone.protocol.proto
     .ScmBlockLocationProtocolProtos.GetScmBlockLocationsResponseProto;
 import org.apache.hadoop.ozone.protocol.proto
     .ScmBlockLocationProtocolProtos.ScmLocatedBlockProto;
-import org.apache.hadoop.ozone.protocol.proto
-    .ScmBlockLocationProtocolProtos.GetScmInfoRequestProto;
-import org.apache.hadoop.ozone.protocol.proto
-    .ScmBlockLocationProtocolProtos.GetScmInfoRespsonseProto;
 
 import java.io.IOException;
 import java.util.List;
@@ -155,15 +152,16 @@ public final class ScmBlockLocationProtocolServerSideTranslatorPB
   }
 
   @Override
-  public GetScmInfoRespsonseProto getScmInfo(RpcController controller,
-      GetScmInfoRequestProto req) throws ServiceException {
+  public OzoneProtos.GetScmInfoRespsonseProto getScmInfo(
+      RpcController controller, OzoneProtos.GetScmInfoRequestProto req)
+      throws ServiceException {
     ScmInfo scmInfo;
     try {
       scmInfo = impl.getScmInfo();
     } catch (IOException ex) {
       throw new ServiceException(ex);
     }
-    return GetScmInfoRespsonseProto.newBuilder()
+    return OzoneProtos.GetScmInfoRespsonseProto.newBuilder()
         .setClusterId(scmInfo.getClusterId())
         .setScmId(scmInfo.getScmId())
         .build();

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3408fdf9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java
index f73bf22..df1fa40 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/protocolPB/StorageContainerLocationProtocolServerSideTranslatorPB.java
@@ -29,6 +29,7 @@ import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.ozone.protocol.proto.OzoneProtos;
 import org.apache.hadoop.ozone.protocol.proto
     .StorageContainerLocationProtocolProtos;
+import org.apache.hadoop.scm.ScmInfo;
 import org.apache.hadoop.scm.container.common.helpers.ContainerInfo;
 import org.apache.hadoop.scm.protocol.StorageContainerLocationProtocol;
 
@@ -195,4 +196,20 @@ public final class StorageContainerLocationProtocolServerSideTranslatorPB
     // TODO : Wiring this up requires one more patch.
     return null;
   }
+
+  @Override
+  public OzoneProtos.GetScmInfoRespsonseProto getScmInfo(
+      RpcController controller, OzoneProtos.GetScmInfoRequestProto req)
+      throws ServiceException {
+    try {
+      ScmInfo scmInfo = impl.getScmInfo();
+      return OzoneProtos.GetScmInfoRespsonseProto.newBuilder()
+          .setClusterId(scmInfo.getClusterId())
+          .setScmId(scmInfo.getScmId())
+          .build();
+    } catch (IOException ex) {
+      throw new ServiceException(ex);
+    }
+
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org