You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by na...@apache.org on 2019/06/06 18:20:11 UTC
[hadoop] branch trunk updated: HDDS-1650. Fix Ozone tests leaking
volume checker thread. Contributed by Xiaoyu Yao. (#915)
This is an automated email from the ASF dual-hosted git repository.
nanda pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new c7e6f07 HDDS-1650. Fix Ozone tests leaking volume checker thread. Contributed by Xiaoyu Yao. (#915)
c7e6f07 is described below
commit c7e6f076df5b38702579db352475113e5f3ae5fb
Author: Xiaoyu Yao <xy...@apache.org>
AuthorDate: Thu Jun 6 11:20:04 2019 -0700
HDDS-1650. Fix Ozone tests leaking volume checker thread. Contributed by Xiaoyu Yao. (#915)
---
.../ozone/container/common/impl/TestHddsDispatcher.java | 9 ++++++---
.../volume/TestRoundRobinVolumeChoosingPolicy.java | 13 ++++++++++++-
.../ozone/container/common/volume/TestVolumeSet.java | 1 +
.../container/common/volume/TestVolumeSetDiskChecks.java | 3 +++
.../ozone/container/keyvalue/TestKeyValueHandler.java | 7 ++++---
.../ozone/container/ozoneimpl/TestOzoneContainer.java | 16 +++++++++++-----
6 files changed, 37 insertions(+), 12 deletions(-)
diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestHddsDispatcher.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestHddsDispatcher.java
index d425820..54dbe94 100644
--- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestHddsDispatcher.java
+++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/impl/TestHddsDispatcher.java
@@ -73,13 +73,15 @@ public class TestHddsDispatcher {
public void testContainerCloseActionWhenFull() throws IOException {
String testDir = GenericTestUtils.getTempPath(
TestHddsDispatcher.class.getSimpleName());
+ OzoneConfiguration conf = new OzoneConfiguration();
+ DatanodeDetails dd = randomDatanodeDetails();
+ VolumeSet volumeSet = new VolumeSet(dd.getUuidString(), conf);
+
try {
UUID scmId = UUID.randomUUID();
- OzoneConfiguration conf = new OzoneConfiguration();
conf.set(HDDS_DATANODE_DIR_KEY, testDir);
- DatanodeDetails dd = randomDatanodeDetails();
ContainerSet containerSet = new ContainerSet();
- VolumeSet volumeSet = new VolumeSet(dd.getUuidString(), conf);
+
DatanodeStateMachine stateMachine = Mockito.mock(
DatanodeStateMachine.class);
StateContext context = Mockito.mock(StateContext.class);
@@ -118,6 +120,7 @@ public class TestHddsDispatcher {
.addContainerActionIfAbsent(Mockito.any(ContainerAction.class));
} finally {
+ volumeSet.shutdown();
FileUtils.deleteDirectory(new File(testDir));
}
diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestRoundRobinVolumeChoosingPolicy.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestRoundRobinVolumeChoosingPolicy.java
index 80594d35..d0fbf10 100644
--- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestRoundRobinVolumeChoosingPolicy.java
+++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestRoundRobinVolumeChoosingPolicy.java
@@ -24,6 +24,7 @@ import org.apache.hadoop.hdfs.DFSConfigKeys;
import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.apache.hadoop.util.DiskChecker.DiskOutOfSpaceException;
import org.apache.hadoop.util.ReflectionUtils;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -40,10 +41,12 @@ public class TestRoundRobinVolumeChoosingPolicy {
private RoundRobinVolumeChoosingPolicy policy;
private List<HddsVolume> volumes;
+ private VolumeSet volumeSet;
private final String baseDir = MiniDFSCluster.getBaseDirectory();
private final String volume1 = baseDir + "disk1";
private final String volume2 = baseDir + "disk2";
+
private static final String DUMMY_IP_ADDR = "0.0.0.0";
@Before
@@ -53,10 +56,18 @@ public class TestRoundRobinVolumeChoosingPolicy {
conf.set(DFSConfigKeys.DFS_DATANODE_DATA_DIR_KEY, dataDirKey);
policy = ReflectionUtils.newInstance(
RoundRobinVolumeChoosingPolicy.class, null);
- VolumeSet volumeSet = new VolumeSet(UUID.randomUUID().toString(), conf);
+ volumeSet = new VolumeSet(UUID.randomUUID().toString(), conf);
volumes = volumeSet.getVolumesList();
}
+ @After
+ public void cleanUp() {
+ if (volumeSet != null) {
+ volumeSet.shutdown();
+ volumeSet = null;
+ }
+ }
+
@Test
public void testRRVolumeChoosingPolicy() throws Exception {
HddsVolume hddsVolume1 = volumes.get(0);
diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestVolumeSet.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestVolumeSet.java
index f97ad4e..79eeb61 100644
--- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestVolumeSet.java
+++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestVolumeSet.java
@@ -237,6 +237,7 @@ public class TestVolumeSet {
//Set back to writable
try {
readOnlyVolumePath.setWritable(true);
+ volSet.shutdown();
} finally {
FileUtil.fullyDelete(volumePath);
}
diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestVolumeSetDiskChecks.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestVolumeSetDiskChecks.java
index 472bb98..c5deff0 100644
--- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestVolumeSetDiskChecks.java
+++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/volume/TestVolumeSetDiskChecks.java
@@ -100,6 +100,7 @@ public class TestVolumeSetDiskChecks {
for (String d : dirs) {
assertTrue(new File(d).isDirectory());
}
+ volumeSet.shutdown();
}
/**
@@ -124,6 +125,7 @@ public class TestVolumeSetDiskChecks {
assertThat(volumeSet.getFailedVolumesList().size(), is(numBadVolumes));
assertThat(volumeSet.getVolumesList().size(),
is(numVolumes - numBadVolumes));
+ volumeSet.shutdown();
}
/**
@@ -146,6 +148,7 @@ public class TestVolumeSetDiskChecks {
assertEquals(volumeSet.getFailedVolumesList().size(), numVolumes);
assertEquals(volumeSet.getVolumesList().size(), 0);
+ volumeSet.shutdown();
}
/**
diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestKeyValueHandler.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestKeyValueHandler.java
index 8ef9e19..2c71fef 100644
--- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestKeyValueHandler.java
+++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestKeyValueHandler.java
@@ -229,14 +229,14 @@ public class TestKeyValueHandler {
@Test
public void testVolumeSetInKeyValueHandler() throws Exception{
File path = GenericTestUtils.getRandomizedTestDir();
+ Configuration conf = new OzoneConfiguration();
+ conf.set(HDDS_DATANODE_DIR_KEY, path.getAbsolutePath());
+ VolumeSet volumeSet = new VolumeSet(UUID.randomUUID().toString(), conf);
try {
- Configuration conf = new OzoneConfiguration();
- conf.set(HDDS_DATANODE_DIR_KEY, path.getAbsolutePath());
ContainerSet cset = new ContainerSet();
int[] interval = new int[1];
interval[0] = 2;
ContainerMetrics metrics = new ContainerMetrics(interval);
- VolumeSet volumeSet = new VolumeSet(UUID.randomUUID().toString(), conf);
DatanodeDetails datanodeDetails = Mockito.mock(DatanodeDetails.class);
DatanodeStateMachine stateMachine = Mockito.mock(
DatanodeStateMachine.class);
@@ -263,6 +263,7 @@ public class TestKeyValueHandler {
ex);
}
} finally {
+ volumeSet.shutdown();
FileUtil.fullyDelete(path);
}
}
diff --git a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestOzoneContainer.java b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestOzoneContainer.java
index f5ebb49..b0d3a0f 100644
--- a/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestOzoneContainer.java
+++ b/hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestOzoneContainer.java
@@ -41,6 +41,7 @@ import org.apache.hadoop.ozone.container.common.volume.VolumeSet;
import org.apache.hadoop.ozone.container.keyvalue.KeyValueContainer;
import org.apache.hadoop.ozone.container.keyvalue.KeyValueContainerData;
import org.apache.hadoop.ozone.container.keyvalue.helpers.BlockUtils;
+import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -82,13 +83,20 @@ public class TestOzoneContainer {
conf.set(HddsConfigKeys.OZONE_METADATA_DIRS,
folder.newFolder().getAbsolutePath());
commitSpaceMap = new HashMap<String, Long>();
+ volumeSet = new VolumeSet(datanodeDetails.getUuidString(), conf);
+ volumeChoosingPolicy = new RoundRobinVolumeChoosingPolicy();
+ }
+
+ @After
+ public void cleanUp() throws Exception {
+ if (volumeSet != null) {
+ volumeSet.shutdown();
+ volumeSet = null;
+ }
}
@Test
public void testBuildContainerMap() throws Exception {
- volumeSet = new VolumeSet(datanodeDetails.getUuidString(), conf);
- volumeChoosingPolicy = new RoundRobinVolumeChoosingPolicy();
-
// Format the volumes
for (HddsVolume volume : volumeSet.getVolumesList()) {
volume.format(UUID.randomUUID().toString());
@@ -139,8 +147,6 @@ public class TestOzoneContainer {
@Test
public void testContainerCreateDiskFull() throws Exception {
- volumeSet = new VolumeSet(datanodeDetails.getUuidString(), conf);
- volumeChoosingPolicy = new RoundRobinVolumeChoosingPolicy();
long containerSize = (long) StorageUnit.MB.toBytes(100);
boolean diskSpaceException = false;
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org