From 6a4876d1f4cc81825ea627c3404712fdca018a96 Mon Sep 17 00:00:00 2001 From: liusheng Date: Thu, 19 Dec 2019 10:26:23 +0800 Subject: [PATCH 1/5] YARN-10041. Create tmp socket file under /tmp for CSI tests As the issue described, it is easy to exceed the UNIX_PATH_MAX limit if we create the CSI test socket file under the test code dicrectory. --- .../org/apache/hadoop/yarn/csi/client/TestCsiClient.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java index 7eed98f55172f..03bc77e93a77a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java @@ -37,15 +37,14 @@ public class TestCsiClient { private static File testRoot = null; + private static File socketFile = null; private static String domainSocket = null; private static FakeCsiDriver driver = null; @BeforeClass public static void setUp() throws IOException { - testRoot = GenericTestUtils.getTestDir("csi-test"); - File socketPath = new File(testRoot, "csi.sock"); - FileUtils.forceMkdirParent(socketPath); - domainSocket = "unix://" + socketPath.getAbsolutePath(); + socketFile = new File("/tmp", "yarn-csi-test.sock"); + domainSocket = "unix://" + socketFile.getAbsolutePath(); driver = new FakeCsiDriver(domainSocket); } From b26325690a2d00d2b21cb8df382306f7fe092a84 Mon Sep 17 00:00:00 2001 From: liusheng Date: Fri, 20 Dec 2019 14:47:38 +0800 Subject: [PATCH 2/5] Delete socket file in cleanup --- .../apache/hadoop/yarn/csi/client/TestCsiClient.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java index 03bc77e93a77a..acbdc9dd59375 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java @@ -19,8 +19,6 @@ package org.apache.hadoop.yarn.csi.client; import csi.v0.Csi; -import org.apache.commons.io.FileUtils; -import org.apache.hadoop.test.GenericTestUtils; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Assume; @@ -36,7 +34,6 @@ */ public class TestCsiClient { - private static File testRoot = null; private static File socketFile = null; private static String domainSocket = null; private static FakeCsiDriver driver = null; @@ -50,8 +47,11 @@ public static void setUp() throws IOException { @AfterClass public static void tearDown() throws IOException { - if (testRoot != null) { - FileUtils.deleteDirectory(testRoot); + if (socketFile != null && socketFile.exists()) { + if (!socketFile.delete()) { + String message = "Unable to delete file " + socketFile + "."; + throw new IOException(message); + } } } From 350090cf25d01f51fd3af52b04cd3d1ff3853033 Mon Sep 17 00:00:00 2001 From: liusheng Date: Mon, 23 Dec 2019 09:48:37 +0800 Subject: [PATCH 3/5] change the tearDown --- .../apache/hadoop/yarn/csi/client/TestCsiClient.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java index acbdc9dd59375..1fa9a854f0498 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java @@ -19,6 +19,7 @@ package org.apache.hadoop.yarn.csi.client; import csi.v0.Csi; +import org.apache.commons.io.FileUtils; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Assume; @@ -39,20 +40,15 @@ public class TestCsiClient { private static FakeCsiDriver driver = null; @BeforeClass - public static void setUp() throws IOException { + public static void setUp() { socketFile = new File("/tmp", "yarn-csi-test.sock"); domainSocket = "unix://" + socketFile.getAbsolutePath(); driver = new FakeCsiDriver(domainSocket); } @AfterClass - public static void tearDown() throws IOException { - if (socketFile != null && socketFile.exists()) { - if (!socketFile.delete()) { - String message = "Unable to delete file " + socketFile + "."; - throw new IOException(message); - } - } + public static void tearDown() throws IOException{ + FileUtils.forceDelete(socketFile); } @Before From c0d19790dc07c65326f647e8b2f78e1d2061e517 Mon Sep 17 00:00:00 2001 From: liusheng Date: Mon, 23 Dec 2019 18:47:44 +0800 Subject: [PATCH 4/5] use Files.createTempDir for creating testRoot --- .../hadoop/yarn/csi/client/TestCsiClient.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java index 1fa9a854f0498..4ade46c31db55 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java @@ -20,6 +20,7 @@ import csi.v0.Csi; import org.apache.commons.io.FileUtils; +import org.apache.curator.shaded.com.google.common.io.Files; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Assume; @@ -35,20 +36,24 @@ */ public class TestCsiClient { - private static File socketFile = null; + private static File testRoot = null; private static String domainSocket = null; private static FakeCsiDriver driver = null; @BeforeClass - public static void setUp() { - socketFile = new File("/tmp", "yarn-csi-test.sock"); - domainSocket = "unix://" + socketFile.getAbsolutePath(); + public static void setUp() throws IOException { + testRoot = Files.createTempDir(); + File socketPath = new File(testRoot, "csi.sock"); + FileUtils.forceMkdirParent(socketPath); + domainSocket = "unix://" + socketPath.getAbsolutePath(); driver = new FakeCsiDriver(domainSocket); } @AfterClass - public static void tearDown() throws IOException{ - FileUtils.forceDelete(socketFile); + public static void tearDown() throws IOException { + if (testRoot != null) { + FileUtils.deleteDirectory(testRoot); + } } @Before From c9a9ca17c237b5a3bdace612115e76bb785a3622 Mon Sep 17 00:00:00 2001 From: liusheng Date: Fri, 27 Dec 2019 11:15:11 +0800 Subject: [PATCH 5/5] correct the Files class import --- .../java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java index 4ade46c31db55..9e7ac1952be5c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi/src/test/java/org/apache/hadoop/yarn/csi/client/TestCsiClient.java @@ -20,7 +20,7 @@ import csi.v0.Csi; import org.apache.commons.io.FileUtils; -import org.apache.curator.shaded.com.google.common.io.Files; +import com.google.common.io.Files; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Assume;