You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by xy...@apache.org on 2020/10/30 17:04:47 UTC

[ozone] branch master updated: HDDS-3959. Avoid HddsProtos.PipelineID#toString (#1525)

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

xyao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 1ac1e24  HDDS-3959. Avoid HddsProtos.PipelineID#toString (#1525)
1ac1e24 is described below

commit 1ac1e244691ff44575d598ed56f1a2c29f5ac9b4
Author: Doroszlai, Attila <64...@users.noreply.github.com>
AuthorDate: Fri Oct 30 18:04:33 2020 +0100

    HDDS-3959. Avoid HddsProtos.PipelineID#toString (#1525)
---
 .../ClosePipelineCommandHandler.java               | 15 +++++-------
 .../CreatePipelineCommandHandler.java              | 28 ++++++++++------------
 .../protocol/commands/CreatePipelineCommand.java   | 16 +++++++++++++
 3 files changed, 34 insertions(+), 25 deletions(-)

diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/ClosePipelineCommandHandler.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/ClosePipelineCommandHandler.java
index b1c6090..fb05cb5 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/ClosePipelineCommandHandler.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/ClosePipelineCommandHandler.java
@@ -17,11 +17,9 @@
 package org.apache.hadoop.ozone.container.common.statemachine.commandhandler;
 
 import org.apache.hadoop.hdds.protocol.DatanodeDetails;
-import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
-import org.apache.hadoop.hdds.protocol.proto.
-    StorageContainerDatanodeProtocolProtos.ClosePipelineCommandProto;
 import org.apache.hadoop.hdds.protocol.proto.
     StorageContainerDatanodeProtocolProtos.SCMCommandProto;
+import org.apache.hadoop.hdds.scm.pipeline.PipelineID;
 import org.apache.hadoop.ozone.container.common.statemachine
     .SCMConnectionManager;
 import org.apache.hadoop.ozone.container.common.statemachine.StateContext;
@@ -68,17 +66,16 @@ public class ClosePipelineCommandHandler implements CommandHandler {
     invocationCount.incrementAndGet();
     final long startTime = Time.monotonicNow();
     final DatanodeDetails dn = context.getParent().getDatanodeDetails();
-    final ClosePipelineCommandProto closeCommand =
-        ((ClosePipelineCommand)command).getProto();
-    final HddsProtos.PipelineID pipelineID = closeCommand.getPipelineID();
+    ClosePipelineCommand closePipelineCommand = (ClosePipelineCommand) command;
+    final PipelineID pipelineID = closePipelineCommand.getPipelineID();
 
     try {
       XceiverServerSpi server = ozoneContainer.getWriteChannel();
-      server.removeGroup(pipelineID);
-      LOG.info("Close Pipeline #{} command on datanode #{}.", pipelineID,
+      server.removeGroup(pipelineID.getProtobuf());
+      LOG.info("Close Pipeline {} command on datanode {}.", pipelineID,
           dn.getUuidString());
     } catch (IOException e) {
-      LOG.error("Can't close pipeline #{}", pipelineID, e);
+      LOG.error("Can't close pipeline {}", pipelineID, e);
     } finally {
       long endTime = Time.monotonicNow();
       totalTime += endTime - startTime;
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/CreatePipelineCommandHandler.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/CreatePipelineCommandHandler.java
index 8f41fe9..4ad05de 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/CreatePipelineCommandHandler.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/CreatePipelineCommandHandler.java
@@ -19,12 +19,10 @@ package org.apache.hadoop.ozone.container.common.statemachine.commandhandler;
 import java.io.IOException;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.List;
-import java.util.stream.Collectors;
 
 import org.apache.hadoop.hdds.conf.ConfigurationSource;
 import org.apache.hadoop.hdds.protocol.DatanodeDetails;
 import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
-import org.apache.hadoop.hdds.protocol.proto.StorageContainerDatanodeProtocolProtos.CreatePipelineCommandProto;
 import org.apache.hadoop.hdds.protocol.proto.StorageContainerDatanodeProtocolProtos.SCMCommandProto;
 import org.apache.hadoop.hdds.ratis.RatisHelper;
 import org.apache.hadoop.hdds.scm.pipeline.PipelineID;
@@ -79,23 +77,19 @@ public class CreatePipelineCommandHandler implements CommandHandler {
     final long startTime = Time.monotonicNow();
     final DatanodeDetails dn = context.getParent()
         .getDatanodeDetails();
-    final CreatePipelineCommandProto createCommand =
-        ((CreatePipelineCommand)command).getProto();
-    final HddsProtos.PipelineID pipelineID = createCommand.getPipelineID();
-    final List<DatanodeDetails> peers =
-        createCommand.getDatanodeList().stream()
-            .map(DatanodeDetails::getFromProtoBuf)
-            .collect(Collectors.toList());
+    final CreatePipelineCommand createCommand = (CreatePipelineCommand) command;
+    final PipelineID pipelineID = createCommand.getPipelineID();
+    final HddsProtos.PipelineID pipelineIdProto = pipelineID.getProtobuf();
+    final List<DatanodeDetails> peers = createCommand.getNodeList();
     final List<Integer> priorityList = createCommand.getPriorityList();
 
     try {
       XceiverServerSpi server = ozoneContainer.getWriteChannel();
-      if (!server.isExist(pipelineID)) {
-        final RaftGroupId groupId = RaftGroupId.valueOf(
-            PipelineID.getFromProtobuf(pipelineID).getId());
+      if (!server.isExist(pipelineIdProto)) {
+        final RaftGroupId groupId = RaftGroupId.valueOf(pipelineID.getId());
         final RaftGroup group =
             RatisHelper.newRaftGroup(groupId, peers, priorityList);
-        server.addGroup(pipelineID, peers, priorityList);
+        server.addGroup(pipelineIdProto, peers, priorityList);
         peers.stream().filter(
             d -> !d.getUuid().equals(dn.getUuid()))
             .forEach(d -> {
@@ -109,11 +103,13 @@ public class CreatePipelineCommandHandler implements CommandHandler {
                 LOG.warn("Add group failed for {}", d, ioe);
               }
             });
-        LOG.info("Created Pipeline {} {} #{}.",
-            createCommand.getType(), createCommand.getFactor(), pipelineID);
+        LOG.info("Created Pipeline {} {} {}.",
+            createCommand.getReplicationType(), createCommand.getFactor(),
+            pipelineID);
       }
     } catch (IOException e) {
-      LOG.error("Can't create pipeline {} {} #{}", createCommand.getType(),
+      LOG.error("Can't create pipeline {} {} {}",
+          createCommand.getReplicationType(),
           createCommand.getFactor(), pipelineID, e);
     } finally {
       long endTime = Time.monotonicNow();
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/CreatePipelineCommand.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/CreatePipelineCommand.java
index 6fdb4ce..44a883b 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/CreatePipelineCommand.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/CreatePipelineCommand.java
@@ -139,4 +139,20 @@ public class CreatePipelineCommand
   public PipelineID getPipelineID() {
     return pipelineID;
   }
+
+  public List<DatanodeDetails> getNodeList() {
+    return nodelist;
+  }
+
+  public List<Integer> getPriorityList() {
+    return priorityList;
+  }
+
+  public ReplicationType getReplicationType() {
+    return type;
+  }
+
+  public ReplicationFactor getFactor() {
+    return factor;
+  }
 }


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