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