Bläddra i källkod

MAPREDUCE-6589. TestTaskLog outputs a log under directory other than target/test-dir. (aajisaka)

Akira Ajisaka 9 år sedan
förälder
incheckning
2a59d01503

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -680,6 +680,9 @@ Release 2.8.0 - UNRELEASED
    MAPREDUCE-6419. JobHistoryServer doesn't sort properly based on Job ID when Job id's 
    exceed 9999. (Mohammad Shahid Khan via rohithsharmaks)
 
+    MAPREDUCE-6589. TestTaskLog outputs a log under directory other than
+    target/test-dir. (aajisaka)
+
 Release 2.7.3 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 16 - 6
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestTaskLog.java

@@ -27,9 +27,10 @@ import java.io.IOException;
 import java.io.InputStream;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.hadoop.fs.FileUtil;
 import org.apache.hadoop.mapred.TaskLog.LogName;
-import org.apache.hadoop.mapreduce.MRJobConfig;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
+import org.junit.AfterClass;
 import org.junit.Test;
 
 /**
@@ -37,6 +38,16 @@ import org.junit.Test;
  */
 public class TestTaskLog {
 
+  private static final String testDirName = TestTaskLog.class.getSimpleName();
+  private static final String testDir = System.getProperty("test.build.data",
+      "target" + File.separatorChar + "test-dir")
+      + File.separatorChar + testDirName;
+
+  @AfterClass
+  public static void cleanup() {
+    FileUtil.fullyDelete(new File(testDir));
+  }
+
   /**
    * test TaskAttemptID
    * 
@@ -67,7 +78,7 @@ public class TestTaskLog {
     indexFile.delete();
     indexFile.createNewFile();
 
-    TaskLog.syncLogs("location", taid, true);
+    TaskLog.syncLogs(testDir, taid, true);
 
     assertTrue(indexFile.getAbsolutePath().endsWith(
         "userlogs" + File.separatorChar + "job_job_0001"
@@ -76,7 +87,7 @@ public class TestTaskLog {
 
     f = TaskLog.getRealTaskLogFileLocation(taid, true, LogName.DEBUGOUT);
     if (f != null) {
-      assertTrue(f.getAbsolutePath().endsWith("location"
+      assertTrue(f.getAbsolutePath().endsWith(testDirName
           + File.separatorChar + "debugout"));
       FileUtils.copyFile(indexFile, f);
     }
@@ -84,14 +95,13 @@ public class TestTaskLog {
     assertTrue(TaskLog.obtainLogDirOwner(taid).length() > 0);
     // test TaskLog.Reader
     assertTrue(readTaskLog(TaskLog.LogName.DEBUGOUT, taid, true).length() > 0);
-
   }
 
-  public String readTaskLog(TaskLog.LogName filter,
+  private String readTaskLog(TaskLog.LogName filter,
       org.apache.hadoop.mapred.TaskAttemptID taskId, boolean isCleanup)
       throws IOException {
     // string buffer to store task log
-    StringBuffer result = new StringBuffer();
+    StringBuilder result = new StringBuilder();
     int res;
 
     // reads the whole tasklog into inputstream