From 71626fd0b92ee70ee113fde237352266aa599bfb Mon Sep 17 00:00:00 2001 From: Akira Ajisaka Date: Tue, 20 Jun 2017 13:55:42 +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 | 8 +++----- 3 files changed, 11 insertions(+), 9 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 3945dabe727..7c16f14eac5 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 java.util.Random; -import com.google.common.io.Files; import org.apache.commons.cli.ParseException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -2438,7 +2437,8 @@ public class TestCheckpoint { 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 0a4e4d107fa..f245755037c 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.base.Supplier; 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; @@ -114,7 +113,8 @@ public class TestStandbyCheckpoints { } 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); @@ -136,6 +136,10 @@ public class TestStandbyCheckpoints { 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 f77911de8ca..41bbaddc5b5 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 @@ -56,8 +56,6 @@ import javax.xml.parsers.ParserConfigurationException; 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; @@ -87,9 +85,7 @@ import org.apache.log4j.Level; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.TemporaryFolder; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; @@ -116,7 +112,9 @@ public class TestOfflineImageViewer { // multiple tests. @BeforeClass public static void createOriginalFSImage() throws IOException { - tempDir = Files.createTempDir(); + tempDir = new File(MiniDFSCluster.getBaseDirectory(), "name1"); + tempDir.mkdirs(); + MiniDFSCluster cluster = null; try { Configuration conf = new Configuration();