|
@@ -27,6 +27,7 @@ import java.io.IOException;
|
|
|
import java.io.StringReader;
|
|
|
import java.net.URI;
|
|
|
import java.security.PrivilegedExceptionAction;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.EnumSet;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
@@ -442,9 +443,12 @@ public class TestMRJobs {
|
|
|
final SleepJob sleepJob = new SleepJob();
|
|
|
final JobConf sleepConf = new JobConf(mrCluster.getConfig());
|
|
|
sleepConf.set(MRJobConfig.MAP_LOG_LEVEL, Level.ALL.toString());
|
|
|
- sleepConf.set(MRJobConfig.MR_AM_LOG_LEVEL, Level.ALL.toString());
|
|
|
- sleepConf.setLong(MRJobConfig.TASK_USERLOG_LIMIT, 1);
|
|
|
+ final long userLogKb = 4;
|
|
|
+ sleepConf.setLong(MRJobConfig.TASK_USERLOG_LIMIT, userLogKb);
|
|
|
sleepConf.setInt(MRJobConfig.TASK_LOG_BACKUPS, 3);
|
|
|
+ sleepConf.set(MRJobConfig.MR_AM_LOG_LEVEL, Level.ALL.toString());
|
|
|
+ final long amLogKb = 7;
|
|
|
+ sleepConf.setLong(MRJobConfig.MR_AM_LOG_KB, amLogKb);
|
|
|
sleepConf.setInt(MRJobConfig.MR_AM_LOG_BACKUPS, 7);
|
|
|
sleepJob.setConf(sleepConf);
|
|
|
|
|
@@ -503,6 +507,8 @@ public class TestMRJobs {
|
|
|
|
|
|
final FileStatus[] sysSiblings = localFs.globStatus(new Path(
|
|
|
containerPathComponent, TaskLog.LogName.SYSLOG + "*"));
|
|
|
+ // sort to ensure for i > 0 sysSiblings[i] == "syslog.i"
|
|
|
+ Arrays.sort(sysSiblings);
|
|
|
|
|
|
if (foundAppMaster) {
|
|
|
numAppMasters++;
|
|
@@ -510,11 +516,19 @@ public class TestMRJobs {
|
|
|
numMapTasks++;
|
|
|
}
|
|
|
|
|
|
- Assert.assertSame("Number of sylog* files",
|
|
|
- foundAppMaster
|
|
|
- ? sleepConf.getInt(MRJobConfig.MR_AM_LOG_BACKUPS, 0) + 1
|
|
|
- : sleepConf.getInt(MRJobConfig.TASK_LOG_BACKUPS, 0) + 1,
|
|
|
- sysSiblings.length);
|
|
|
+ if (foundAppMaster) {
|
|
|
+ Assert.assertSame("Unexpected number of AM sylog* files",
|
|
|
+ sleepConf.getInt(MRJobConfig.MR_AM_LOG_BACKUPS, 0) + 1,
|
|
|
+ sysSiblings.length);
|
|
|
+ Assert.assertTrue("AM syslog.1 length kb should be >= " + amLogKb,
|
|
|
+ sysSiblings[1].getLen() >= amLogKb * 1024);
|
|
|
+ } else {
|
|
|
+ Assert.assertSame("Unexpected number of MR task sylog* files",
|
|
|
+ sleepConf.getInt(MRJobConfig.TASK_LOG_BACKUPS, 0) + 1,
|
|
|
+ sysSiblings.length);
|
|
|
+ Assert.assertTrue("MR syslog.1 length kb should be >= " + userLogKb,
|
|
|
+ sysSiblings[1].getLen() >= userLogKb * 1024);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|