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

This commit is contained in:
Akira Ajisaka 2015-12-30 01:33:47 +09:00
parent bee542817d
commit 2a59d01503
2 changed files with 19 additions and 6 deletions

View File

@ -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

View File

@ -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