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]