MAPREDUCE-4924. flakey test: org.apache.hadoop.mapred.TestClusterMRNotification.testMR. (rkanter via tucu)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1433753 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Alejandro Abdelnur 2013-01-16 00:08:25 +00:00
parent 06f086dd23
commit 26275e5323
2 changed files with 20 additions and 5 deletions

View File

@ -256,6 +256,9 @@ Release 2.0.3-alpha - Unreleased
MAPREDUCE-4936. JobImpl uber checks for cpu are wrong (Arun C Murthy via MAPREDUCE-4936. JobImpl uber checks for cpu are wrong (Arun C Murthy via
jlowe) jlowe)
MAPREDUCE-4924. flakey test: org.apache.hadoop.mapred.TestClusterMRNotification.testMR.
(rkanter via tucu)
Release 2.0.2-alpha - 2012-09-07 Release 2.0.2-alpha - 2012-09-07
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -90,8 +90,8 @@ private void stopHttpServer() throws Exception {
} }
public static class NotificationServlet extends HttpServlet { public static class NotificationServlet extends HttpServlet {
public static int counter = 0; public static volatile int counter = 0;
public static int failureCounter = 0; public static volatile int failureCounter = 0;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse res) protected void doGet(HttpServletRequest req, HttpServletResponse res)
@ -155,7 +155,11 @@ public void testMR() throws Exception {
System.out.println(launchWordCount(this.createJobConf(), System.out.println(launchWordCount(this.createJobConf(),
"a b c d e f g h", 1, 1)); "a b c d e f g h", 1, 1));
Thread.sleep(2000); boolean keepTrying = true;
for (int tries = 0; tries < 30 && keepTrying; tries++) {
Thread.sleep(50);
keepTrying = !(NotificationServlet.counter == 2);
}
assertEquals(2, NotificationServlet.counter); assertEquals(2, NotificationServlet.counter);
assertEquals(0, NotificationServlet.failureCounter); assertEquals(0, NotificationServlet.failureCounter);
@ -173,14 +177,22 @@ public void testMR() throws Exception {
// run a job with KILLED status // run a job with KILLED status
System.out.println(UtilsForTests.runJobKill(this.createJobConf(), inDir, System.out.println(UtilsForTests.runJobKill(this.createJobConf(), inDir,
outDir).getID()); outDir).getID());
Thread.sleep(2000); keepTrying = true;
for (int tries = 0; tries < 30 && keepTrying; tries++) {
Thread.sleep(50);
keepTrying = !(NotificationServlet.counter == 4);
}
assertEquals(4, NotificationServlet.counter); assertEquals(4, NotificationServlet.counter);
assertEquals(0, NotificationServlet.failureCounter); assertEquals(0, NotificationServlet.failureCounter);
// run a job with FAILED status // run a job with FAILED status
System.out.println(UtilsForTests.runJobFail(this.createJobConf(), inDir, System.out.println(UtilsForTests.runJobFail(this.createJobConf(), inDir,
outDir).getID()); outDir).getID());
Thread.sleep(2000); keepTrying = true;
for (int tries = 0; tries < 30 && keepTrying; tries++) {
Thread.sleep(50);
keepTrying = !(NotificationServlet.counter == 6);
}
assertEquals(6, NotificationServlet.counter); assertEquals(6, NotificationServlet.counter);
assertEquals(0, NotificationServlet.failureCounter); assertEquals(0, NotificationServlet.failureCounter);
} }