From 782ba3bf9da52699b27405a3f147464975d1df99 Mon Sep 17 00:00:00 2001 From: Chris Douglas Date: Tue, 21 Nov 2017 20:42:28 -0800 Subject: [PATCH] MAPREDUCE-7011. TestClientDistributedCacheManager::testDetermineCacheVisibilities assumes all parent dirs set other exec --- .../TestClientDistributedCacheManager.java | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/filecache/TestClientDistributedCacheManager.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/filecache/TestClientDistributedCacheManager.java index b427f399a0d..a61e9389a5e 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/filecache/TestClientDistributedCacheManager.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/filecache/TestClientDistributedCacheManager.java @@ -34,12 +34,15 @@ import org.apache.hadoop.io.SequenceFile.CompressionType; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.MRJobConfig; + import org.junit.After; -import org.junit.Assert; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeTrue; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -97,15 +100,15 @@ public void testDetermineTimestamps() throws IOException { FileStatus firstStatus = statCache.get(firstCacheFile.toUri()); FileStatus secondStatus = statCache.get(secondCacheFile.toUri()); - Assert.assertNotNull(firstCacheFile + " was not found in the stats cache", + assertNotNull(firstCacheFile + " was not found in the stats cache", firstStatus); - Assert.assertNotNull(secondCacheFile + " was not found in the stats cache", + assertNotNull(secondCacheFile + " was not found in the stats cache", secondStatus); - Assert.assertEquals("Missing/extra entries found in the stas cache", + assertEquals("Missing/extra entries found in the stats cache", 2, statCache.size()); String expected = firstStatus.getModificationTime() + "," + secondStatus.getModificationTime(); - Assert.assertEquals(expected, jobConf.get(MRJobConfig.CACHE_FILE_TIMESTAMPS)); + assertEquals(expected, jobConf.get(MRJobConfig.CACHE_FILE_TIMESTAMPS)); job = Job.getInstance(conf); job.addCacheFile(new Path(TEST_VISIBILITY_CHILD_DIR, "*").toUri()); @@ -115,12 +118,12 @@ public void testDetermineTimestamps() throws IOException { FileStatus thirdStatus = statCache.get(TEST_VISIBILITY_CHILD_DIR.toUri()); - Assert.assertEquals("Missing/extra entries found in the stas cache", + assertEquals("Missing/extra entries found in the stats cache", 1, statCache.size()); - Assert.assertNotNull(TEST_VISIBILITY_CHILD_DIR + assertNotNull(TEST_VISIBILITY_CHILD_DIR + " was not found in the stats cache", thirdStatus); expected = Long.toString(thirdStatus.getModificationTime()); - Assert.assertEquals("Incorrect timestamp for " + TEST_VISIBILITY_CHILD_DIR, + assertEquals("Incorrect timestamp for " + TEST_VISIBILITY_CHILD_DIR, expected, jobConf.get(MRJobConfig.CACHE_FILE_TIMESTAMPS)); } @@ -141,6 +144,11 @@ public void testDetermineCacheVisibilities() throws IOException { job.addCacheFile(relativePath.toUri()); jobConf = job.getConfiguration(); + // skip test if scratch dir is not PUBLIC + assumeTrue(TEST_VISIBILITY_PARENT_DIR + " is not public", + ClientDistributedCacheManager.isPublic( + jobConf, TEST_VISIBILITY_PARENT_DIR.toUri(), statCache)); + ClientDistributedCacheManager.determineCacheVisibilities(jobConf, statCache); // We use get() instead of getBoolean() so we can tell the difference