You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by ja...@apache.org on 2022/07/27 15:07:28 UTC
[ozone] branch master updated: HDDS-7057. EC: ReplicationManager - Over replication handler should set repIndex on delete cmds (#3628)
This is an automated email from the ASF dual-hosted git repository.
jacksonyao 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 97c6832de9 HDDS-7057. EC: ReplicationManager - Over replication handler should set repIndex on delete cmds (#3628)
97c6832de9 is described below
commit 97c6832de92c8e1eba51c9dd99625a38e4ff9c32
Author: Stephen O'Donnell <st...@gmail.com>
AuthorDate: Wed Jul 27 16:07:23 2022 +0100
HDDS-7057. EC: ReplicationManager - Over replication handler should set repIndex on delete cmds (#3628)
---
.../hdds/scm/container/replication/ECOverReplicationHandler.java | 1 +
.../hdds/scm/container/replication/TestECOverReplicationHandler.java | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ECOverReplicationHandler.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ECOverReplicationHandler.java
index bc08321e44..98dda59f14 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ECOverReplicationHandler.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ECOverReplicationHandler.java
@@ -151,6 +151,7 @@ public class ECOverReplicationHandler extends AbstractOverReplicationHandler {
tempReplicaSet, r, replicationFactor)) {
DeleteContainerCommand deleteCommand =
new DeleteContainerCommand(container.getContainerID(), true);
+ deleteCommand.setReplicaIndex(r.getReplicaIndex());
commands.put(r.getDatanodeDetails(), deleteCommand);
it.remove();
tempReplicaSet.remove(r);
diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestECOverReplicationHandler.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestECOverReplicationHandler.java
index 7b0560d2f2..42db8ab931 100644
--- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestECOverReplicationHandler.java
+++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestECOverReplicationHandler.java
@@ -34,6 +34,7 @@ import org.apache.hadoop.hdds.scm.node.NodeManager;
import org.apache.hadoop.hdds.scm.node.NodeStatus;
import org.apache.hadoop.hdds.scm.node.states.NodeNotFoundException;
import org.apache.hadoop.ozone.container.common.SCMTestUtils;
+import org.apache.hadoop.ozone.protocol.commands.DeleteContainerCommand;
import org.apache.hadoop.ozone.protocol.commands.SCMCommand;
import org.junit.Assert;
import org.junit.jupiter.api.BeforeEach;
@@ -140,6 +141,10 @@ public class TestECOverReplicationHandler {
index2excessNum.values().stream().reduce(0, Integer::sum);
Assert.assertEquals(totalDeleteCommandNum, commands.size());
+ // Each command should have a non-zero replica index
+ commands.forEach((datanode, command) -> Assert.assertNotEquals(0,
+ ((DeleteContainerCommand)command).getReplicaIndex()));
+
// command num of each index should be equal to the excess num
// of this index
Map<DatanodeDetails, Integer> datanodeDetails2Index =
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org