Author: jlowe Date: Wed Aug 7 20:02:10 2013 New Revision: 1511464 URL: http://svn.apache.org/r1511464 Log: MAPREDUCE-5425. Junit in TestJobHistoryServer failing in jdk 7. Contributed by Robert Parker
Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/JobHistoryServer.java hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryServer.java Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt?rev=1511464&r1=1511463&r2=1511464&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original) +++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Wed Aug 7 20:02:10 2013 @@ -217,6 +217,9 @@ Release 2.1.1-beta - UNRELEASED MAPREDUCE-5367. Local jobs all use same local working directory (Sandy Ryza) + MAPREDUCE-5425. Junit in TestJobHistoryServer failing in jdk 7 (Robert + Parker via jlowe) + Release 2.1.0-beta - 2013-08-06 INCOMPATIBLE CHANGES Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/JobHistoryServer.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/JobHistoryServer.java?rev=1511464&r1=1511463&r2=1511464&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/JobHistoryServer.java (original) +++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/JobHistoryServer.java Wed Aug 7 20:02:10 2013 @@ -32,6 +32,7 @@ import org.apache.hadoop.metrics2.lib.De import org.apache.hadoop.metrics2.source.JvmMetrics; import org.apache.hadoop.security.SecurityUtil; import org.apache.hadoop.service.CompositeService; +import org.apache.hadoop.util.ExitUtil; import org.apache.hadoop.util.ShutdownHookManager; import org.apache.hadoop.util.StringUtils; import org.apache.hadoop.yarn.YarnUncaughtExceptionHandler; @@ -139,11 +140,13 @@ public class JobHistoryServer extends Co return this.clientService; } - public static void main(String[] args) { - Thread.setDefaultUncaughtExceptionHandler(new YarnUncaughtExceptionHandler()); + static JobHistoryServer launchJobHistoryServer(String[] args) { + Thread. + setDefaultUncaughtExceptionHandler(new YarnUncaughtExceptionHandler()); StringUtils.startupShutdownMessage(JobHistoryServer.class, args, LOG); + JobHistoryServer jobHistoryServer = null; try { - JobHistoryServer jobHistoryServer = new JobHistoryServer(); + jobHistoryServer = new JobHistoryServer(); ShutdownHookManager.get().addShutdownHook( new CompositeServiceShutdownHook(jobHistoryServer), SHUTDOWN_HOOK_PRIORITY); @@ -152,7 +155,12 @@ public class JobHistoryServer extends Co jobHistoryServer.start(); } catch (Throwable t) { LOG.fatal("Error starting JobHistoryServer", t); - System.exit(-1); + ExitUtil.terminate(-1, "Error starting JobHistoryServer"); } + return jobHistoryServer; + } + + public static void main(String[] args) { + launchJobHistoryServer(args); } } Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryServer.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryServer.java?rev=1511464&r1=1511463&r2=1511464&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryServer.java (original) +++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryServer.java Wed Aug 7 20:02:10 2013 @@ -63,14 +63,11 @@ public class TestJobHistoryServer { private static RecordFactory recordFactory = RecordFactoryProvider .getRecordFactory(null); - - JobHistoryServer historyServer=null; + // simple test init/start/stop JobHistoryServer. Status should change. - @Test (timeout= 50000 ) public void testStartStopServer() throws Exception { - historyServer = new JobHistoryServer(); Configuration config = new Configuration(); historyServer.init(config); @@ -86,15 +83,9 @@ public class TestJobHistoryServer { historyServer.stop(); assertEquals(STATE.STOPPED, historyServer.getServiceState()); assertNotNull(historyService.getClientHandler().getConnectAddress()); - - - } - - //Test reports of JobHistoryServer. History server should get log files from MRApp and read them - @Test (timeout= 50000 ) public void testReports() throws Exception { Configuration config = new Configuration(); @@ -128,7 +119,6 @@ public class TestJobHistoryServer { assertEquals(1, jobs.size()); assertEquals("job_0_0000",jobs.keySet().iterator().next().toString()); - Task task = job.getTasks().values().iterator().next(); TaskAttempt attempt = task.getAttempts().values().iterator().next(); @@ -188,14 +178,14 @@ public class TestJobHistoryServer { assertEquals("", diagnosticResponse.getDiagnostics(0)); } - // test main method + + // test launch method @Test (timeout =60000) - public void testMainMethod() throws Exception { + public void testLaunch() throws Exception { ExitUtil.disableSystemExit(); try { - JobHistoryServer.main(new String[0]); - + historyServer = JobHistoryServer.launchJobHistoryServer(new String[0]); } catch (ExitUtil.ExitException e) { assertEquals(0,e.status); ExitUtil.resetFirstExitException();