avijayanhwx commented on a change in pull request #1457:
URL: https://github.com/apache/hadoop-ozone/pull/1457#discussion_r497840950



##########
File path: 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
##########
@@ -1149,4 +1155,8 @@ public String getScmId() {
   public String getClusterId() {
     return getScmStorageConfig().getClusterID();
   }
+
+  public HDDSLayoutVersionManager getLayoutVersionManager() {

Review comment:
       Nit. I don't see any usages for this yet.

##########
File path: 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/SCMNodeManager.java
##########
@@ -240,8 +247,19 @@ public VersionResponse getVersion(SCMVersionRequestProto 
versionRequest) {
   @Override
   public RegisteredCommand register(
       DatanodeDetails datanodeDetails, NodeReportProto nodeReport,
-      PipelineReportsProto pipelineReportsProto) {
-
+      PipelineReportsProto pipelineReportsProto,
+      LayoutVersionProto layoutInfo) {
+
+    if (layoutInfo != null) {

Review comment:
       Can we move this check to 
org.apache.hadoop.hdds.scm.server.SCMDatanodeProtocolServer#register? That way, 
a lot of test changes in this patch to incorporate the 4th parameter to 
NodeManager.register() can be avoided.

##########
File path: 
hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestSCMNodeManager.java
##########
@@ -170,6 +176,33 @@ public void testScmHeartbeat()
     }
   }
 
+  /**
+   * Tests that Node manager handles Layout versions correctly.
+   *
+   * @throws IOException
+   * @throws InterruptedException
+   * @throws TimeoutException
+   */
+  @Test
+  public void testScmLayoutOnRegister()
+      throws IOException, InterruptedException, AuthenticationException {
+
+    try (SCMNodeManager nodeManager = createNodeManager(getConf())) {
+      LayoutVersionProto layoutInfoSuccess = LayoutVersionProto.newBuilder()
+          .setMetadataLayoutVersion(1).setSoftwareLayoutVersion(1).build();

Review comment:
       Can we refactor this test to use last layout feature's version and last 
layout feature's version + 1 for success and failure cases? That way, the test 
does not need change every time a Layout feature is added.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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

Reply via email to