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

sodonnell 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 b508b25  HDDS-5771. Speed up TestDatanodeHddsVolumeFailureToleration 
by reducing dead interval (#2668)
b508b25 is described below

commit b508b254c5a022d4fa077c863aad98a62396fa75
Author: Stephen O'Donnell <[email protected]>
AuthorDate: Tue Sep 21 13:24:37 2021 +0100

    HDDS-5771. Speed up TestDatanodeHddsVolumeFailureToleration by reducing 
dead interval (#2668)
---
 .../TestDatanodeHddsVolumeFailureToleration.java   | 40 ++++++++++++----------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/volume/TestDatanodeHddsVolumeFailureToleration.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/volume/TestDatanodeHddsVolumeFailureToleration.java
index 95b324e..25c0bac 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/volume/TestDatanodeHddsVolumeFailureToleration.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/volume/TestDatanodeHddsVolumeFailureToleration.java
@@ -39,9 +39,18 @@ import org.junit.rules.Timeout;
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
+import static java.util.concurrent.TimeUnit.SECONDS;
+import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_CONTAINER_REPORT_INTERVAL;
+import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL;
+import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_NODE_REPORT_INTERVAL;
+import static 
org.apache.hadoop.hdds.HddsConfigKeys.HDDS_PIPELINE_REPORT_INTERVAL;
 import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_DATANODE_RATIS_VOLUME_FREE_SPACE_MIN;
 import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_CONTAINER_SIZE;
+import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_DEADNODE_INTERVAL;
+import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_HEARTBEAT_PROCESS_INTERVAL;
+import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_STALENODE_INTERVAL;
 import static org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_REPLICATION;
 
 /**
@@ -64,6 +73,15 @@ public class TestDatanodeHddsVolumeFailureToleration {
     ozoneConfig.setStorageSize(OZONE_DATANODE_RATIS_VOLUME_FREE_SPACE_MIN,
         0, StorageUnit.MB);
     ozoneConfig.setInt(OZONE_REPLICATION, ReplicationFactor.ONE.getValue());
+    ozoneConfig.setTimeDuration(OZONE_SCM_HEARTBEAT_PROCESS_INTERVAL,
+        100, TimeUnit.MILLISECONDS);
+    ozoneConfig.setTimeDuration(HDDS_HEARTBEAT_INTERVAL, 1, SECONDS);
+    ozoneConfig.setTimeDuration(HDDS_PIPELINE_REPORT_INTERVAL, 1, SECONDS);
+    ozoneConfig.setTimeDuration(HDDS_CONTAINER_REPORT_INTERVAL, 1, SECONDS);
+    ozoneConfig.setTimeDuration(HDDS_NODE_REPORT_INTERVAL, 1, SECONDS);
+    ozoneConfig.setTimeDuration(OZONE_SCM_STALENODE_INTERVAL, 3, SECONDS);
+    ozoneConfig.setTimeDuration(OZONE_SCM_DEADNODE_INTERVAL, 6, SECONDS);
+
     // set tolerated = 1
     DatanodeConfiguration dnConf =
         ozoneConfig.getObject(DatanodeConfiguration.class);
@@ -85,13 +103,14 @@ public class TestDatanodeHddsVolumeFailureToleration {
   }
 
   @Test
-  public void testTolerationOnStartupSuccess() throws Exception {
+  public void testDNCorrectlyHandlesVolumeFailureOnStartup() throws Exception {
     HddsDatanodeService dn = datanodes.get(0);
     OzoneContainer oc = dn.getDatanodeStateMachine().getContainer();
     MutableVolumeSet volSet = oc.getVolumeSet();
     StorageVolume vol0 = volSet.getVolumesList().get(0);
-    // keep the file for restore since we'll do restart
+    StorageVolume vol1 = volSet.getVolumesList().get(1);
     File volRootDir0 = vol0.getStorageDir();
+    File volRootDir1 = vol1.getStorageDir();
 
     // simulate bad volumes <= tolerated
     DatanodeTestUtils.simulateBadRootDir(volRootDir0);
@@ -101,22 +120,7 @@ public class TestDatanodeHddsVolumeFailureToleration {
 
     // no exception is good
 
-    // restore bad volumes
-    DatanodeTestUtils.restoreBadRootDir(volRootDir0);
-  }
-
-  @Test
-  public void testTolerationOnStartupFailure() throws Exception {
-    HddsDatanodeService dn = datanodes.get(0);
-    OzoneContainer oc = dn.getDatanodeStateMachine().getContainer();
-    MutableVolumeSet volSet = oc.getVolumeSet();
-    StorageVolume vol0 = volSet.getVolumesList().get(0);
-    StorageVolume vol1 = volSet.getVolumesList().get(1);
-    File volRootDir0 = vol0.getStorageDir();
-    File volRootDir1 = vol1.getStorageDir();
-
-    // simulate bad volumes > tolerated
-    DatanodeTestUtils.simulateBadRootDir(volRootDir0);
+    // fail a second volume
     DatanodeTestUtils.simulateBadRootDir(volRootDir1);
 
     // restart datanode to test

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to