This is an automated email from the ASF dual-hosted git repository.

avijayan pushed a commit to branch HDDS-3698-upgrade
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git

commit 95b8712bbe92d72b5c0a972bd68c6ee7edb6652f
Author: prashantpogde <prashant.po...@gmail.com>
AuthorDate: Mon Sep 14 18:40:05 2020 -0700

    HDDS-4174. Add current HDDS layout version to Datanode 
heartbeat/registration (#1421)
---
 .../proto/ScmServerDatanodeHeartbeatProtocol.proto | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git 
a/hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
 
b/hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
index 1dc4bcd..6d39a59 100644
--- 
a/hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
+++ 
b/hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
@@ -74,6 +74,15 @@ enum Status {
 }
 
 /**
+ * DataNode will advertise its current layout version through
+ * heartbeat as well as registration mechanism.
+ */
+message LayoutVersionProto {
+   required uint32 metadataLayoutVersion = 1;
+   required uint32 softwareLayoutVersion = 2;
+}
+
+/**
  * Request for version info of the software stack on the server.
  */
 message SCMVersionRequestProto {}
@@ -92,6 +101,7 @@ message SCMRegisterRequestProto {
   required NodeReportProto nodeReport = 2;
   required ContainerReportsProto containerReport = 3;
   required PipelineReportsProto pipelineReports = 4;
+  optional LayoutVersionProto dataNodeLayoutVersion = 5;
 }
 
 /**
@@ -126,6 +136,7 @@ message SCMHeartbeatRequestProto {
   optional ContainerActionsProto containerActions = 6;
   optional PipelineActionsProto pipelineActions = 7;
   optional PipelineReportsProto pipelineReports = 8;
+  optional LayoutVersionProto dataNodeLayoutVersion = 9;
 }
 
 /*
@@ -293,6 +304,7 @@ message SCMCommandProto {
     replicateContainerCommand = 5;
     createPipelineCommand = 6;
     closePipelineCommand = 7;
+    finalizeNewLayoutVersionCommand = 8;
   }
   // TODO: once we start using protoc 3.x, refactor this message using "oneof"
   required Type commandType = 1;
@@ -303,6 +315,8 @@ message SCMCommandProto {
   optional ReplicateContainerCommandProto replicateContainerCommandProto = 6;
   optional CreatePipelineCommandProto createPipelineCommandProto = 7;
   optional ClosePipelineCommandProto closePipelineCommandProto = 8;
+  optional FinalizeNewLayoutVersionCommandProto
+  finalizeNewLayoutVersionCommandProto = 9;
 }
 
 /**
@@ -391,6 +405,14 @@ message ClosePipelineCommandProto {
 }
 
 /**
+ * This command asks the DataNode to finalize a new layout version.
+ */
+message FinalizeNewLayoutVersionCommandProto {
+  required bool finalizeNewLayoutVersion = 1 [default = false];
+  required LayoutVersionProto dataNodeLayoutVersion = 2;
+}
+
+/**
  * Protocol used from a datanode to StorageContainerManager.
  *
  * Please see the request and response messages for details of the RPC calls.


---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: ozone-commits-h...@hadoop.apache.org

Reply via email to