You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by el...@apache.org on 2021/02/24 08:46:15 UTC
[ozone] 26/27: support to replicate only one containerid
This is an automated email from the ASF dual-hosted git repository.
elek pushed a commit to branch HDDS-3816-ec
in repository https://gitbox.apache.org/repos/asf/ozone.git
commit b1ba81e49ce95aefdb4cd52c43bca52b91ad42bc
Author: Elek Márton <el...@apache.org>
AuthorDate: Tue Feb 23 15:37:47 2021 +0100
support to replicate only one containerid
---
.../ozone/freon/ClosedContainerReplicator.java | 37 +++++++++++++---------
1 file changed, 22 insertions(+), 15 deletions(-)
diff --git a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java
index 45f4704..cacae37 100644
--- a/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java
+++ b/hadoop-ozone/tools/src/main/java/org/apache/hadoop/ozone/freon/ClosedContainerReplicator.java
@@ -74,6 +74,11 @@ public class ClosedContainerReplicator extends BaseFreonGenerator implements
defaultValue = "false")
private boolean inMemory;
+ @Option(names = {"--container-Id"},
+ description = "Download only the selected container.",
+ defaultValue = "0")
+ private long containerId;
+
private ReplicationSupervisor supervisor;
private Timer timer;
@@ -105,25 +110,27 @@ public class ClosedContainerReplicator extends BaseFreonGenerator implements
for (ContainerInfo container : containerInfos) {
- final ContainerWithPipeline containerWithPipeline =
- containerOperationClient
- .getContainerWithPipeline(container.getContainerID());
+ if (containerId == 0 || containerId == container.getContainerID()) {
+ final ContainerWithPipeline containerWithPipeline =
+ containerOperationClient
+ .getContainerWithPipeline(container.getContainerID());
- if (container.getState() == LifeCycleState.CLOSED) {
+ if (container.getState() == LifeCycleState.CLOSED) {
- final List<DatanodeDetails> datanodesWithContainer =
- containerWithPipeline.getPipeline().getNodes();
+ final List<DatanodeDetails> datanodesWithContainer =
+ containerWithPipeline.getPipeline().getNodes();
- final List<String> datanodeUUIDs =
- datanodesWithContainer
- .stream().map(DatanodeDetails::getUuidString)
- .collect(Collectors.toList());
+ final List<String> datanodeUUIDs =
+ datanodesWithContainer
+ .stream().map(DatanodeDetails::getUuidString)
+ .collect(Collectors.toList());
- //if datanode is specified, replicate only container if it has a
- //replica.
- if (datanode.isEmpty() || datanodeUUIDs.contains(datanode)) {
- replicationTasks.add(new ReplicationTask(container.getContainerID(),
- datanodesWithContainer));
+ //if datanode is specified, replicate only container if it has a
+ //replica.
+ if (datanode.isEmpty() || datanodeUUIDs.contains(datanode)) {
+ replicationTasks.add(new ReplicationTask(container.getContainerID(),
+ datanodesWithContainer));
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org