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