Jelajahi Sumber

MAPREDUCE-5133. TestSubmitJob.testSecureJobExecution is flaky due to job dir deletion race. (sandyr via tucu)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1@1469098 13f79535-47bb-0310-9956-ffa450edef68
Alejandro Abdelnur 12 tahun lalu
induk
melakukan
592f63ee17
2 mengubah file dengan 15 tambahan dan 4 penghapusan
  1. 3 0
      CHANGES.txt
  2. 12 4
      src/test/org/apache/hadoop/mapred/TestSubmitJob.java

+ 3 - 0
CHANGES.txt

@@ -34,6 +34,9 @@ Release 1.3.0 - unreleased
     MAPREDUCE-2817. MiniRMCluster hardcodes 'mapred.local.dir' configuration 
     to 'build/test/mapred/local'. (rkanter via tucu)
 
+    MAPREDUCE-5133. TestSubmitJob.testSecureJobExecution is flaky due to job 
+    dir deletion race. (sandyr via tucu)
+
 Release 1.2.0 - unreleased
 
   INCOMPATIBLE CHANGES

+ 12 - 4
src/test/org/apache/hadoop/mapred/TestSubmitJob.java

@@ -288,10 +288,18 @@ public class TestSubmitJob extends TestCase {
           reduceSignalFile.toString());
       // wait for job to be done
       UtilsForTests.waitTillDone(jClient);
-
-      // check if the staging area is cleaned up
-      LOG.info("Check if job submit dir is cleanup or not");
-      assertFalse(fs.exists(jobSubmitDirpath));
+      
+      // Check that the job submit directory is cleaned up
+      int maxChecks = 20;
+      int sleepMs = 100;
+      for (int i = 0; fs.exists(jobSubmitDirpath) && i < maxChecks; i++) {
+        try {
+          Thread.sleep(sleepMs);
+        } catch (InterruptedException ex) {}
+      }
+      
+      assertFalse("Job submit dir was not cleaned up after " +
+          maxChecks * sleepMs + " ms", fs.exists(jobSubmitDirpath));
     } finally {
       if (mr != null) {
         mr.shutdown();