From 315f07700dcfe32513b87f63070db854ecb3cf48 Mon Sep 17 00:00:00 2001 From: Akira Ajisaka Date: Thu, 15 Jun 2017 13:46:20 +0900 Subject: [PATCH] HDFS-11736. OIV tests should not write outside 'target' directory. Contributed by Yiqun Lin. --- .../hadoop/hdfs/server/namenode/TestCheckpoint.java | 4 ++-- .../hdfs/server/namenode/ha/TestStandbyCheckpoints.java | 8 ++++++-- .../tools/offlineImageViewer/TestOfflineImageViewer.java | 7 ++++--- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestCheckpoint.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestCheckpoint.java index 8b48225ead..2e49674265 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestCheckpoint.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestCheckpoint.java @@ -44,7 +44,6 @@ import java.util.Collection; import java.util.List; -import com.google.common.io.Files; import org.apache.commons.cli.ParseException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -2436,7 +2435,8 @@ public void testCommandLineParsing() throws ParseException { public void testLegacyOivImage() throws Exception { MiniDFSCluster cluster = null; SecondaryNameNode secondary = null; - File tmpDir = Files.createTempDir(); + File tmpDir = GenericTestUtils.getTestDir("testLegacyOivImage"); + tmpDir.mkdirs(); Configuration conf = new HdfsConfiguration(); conf.set(DFSConfigKeys.DFS_NAMENODE_LEGACY_OIV_IMAGE_DIR_KEY, tmpDir.getAbsolutePath()); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestStandbyCheckpoints.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestStandbyCheckpoints.java index 2af373f6fd..4849b54d6e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestStandbyCheckpoints.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestStandbyCheckpoints.java @@ -21,7 +21,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; -import com.google.common.io.Files; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -122,7 +121,8 @@ protected void setNNs(){ } protected Configuration setupCommonConfig() { - tmpOivImgDir = Files.createTempDir(); + tmpOivImgDir = GenericTestUtils.getTestDir("TestStandbyCheckpoints"); + tmpOivImgDir.mkdirs(); Configuration conf = new Configuration(); conf.setInt(DFSConfigKeys.DFS_NAMENODE_CHECKPOINT_CHECK_PERIOD_KEY, 1); @@ -144,6 +144,10 @@ public void shutdownCluster() throws IOException { cluster.shutdown(); cluster = null; } + + if (tmpOivImgDir != null) { + FileUtil.fullyDelete(tmpOivImgDir); + } } @Test(timeout = 300000) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java index 7182071a41..46f194107c 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/offlineImageViewer/TestOfflineImageViewer.java @@ -57,8 +57,6 @@ import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; -import com.google.common.io.Files; - import org.apache.commons.io.FileUtils; import org.apache.commons.io.output.NullOutputStream; import org.apache.commons.logging.Log; @@ -120,7 +118,10 @@ public class TestOfflineImageViewer { // multiple tests. @BeforeClass public static void createOriginalFSImage() throws IOException { - tempDir = Files.createTempDir(); + File[] nnDirs = MiniDFSCluster.getNameNodeDirectory( + MiniDFSCluster.getBaseDirectory(), 0, 0); + tempDir = nnDirs[0]; + MiniDFSCluster cluster = null; try { final ErasureCodingPolicy ecPolicy = SystemErasureCodingPolicies