|
@@ -95,7 +95,7 @@ public abstract class NotificationTestCase extends HadoopTestCase {
|
|
|
}
|
|
|
|
|
|
public static class NotificationServlet extends HttpServlet {
|
|
|
- public static int counter = 0;
|
|
|
+ public static volatile int counter = 0;
|
|
|
|
|
|
protected void doGet(HttpServletRequest req, HttpServletResponse res)
|
|
|
throws ServletException, IOException {
|
|
@@ -159,9 +159,10 @@ public abstract class NotificationTestCase extends HadoopTestCase {
|
|
|
public void testMR() throws Exception {
|
|
|
System.out.println(launchWordCount(this.createJobConf(),
|
|
|
"a b c d e f g h", 1, 1));
|
|
|
- synchronized(Thread.currentThread()) {
|
|
|
- stdPrintln("Sleeping for 2 seconds to give time for retry");
|
|
|
- Thread.currentThread().sleep(2000);
|
|
|
+ boolean keepTrying = true;
|
|
|
+ for (int tries = 0; tries < 30 && keepTrying; tries++) {
|
|
|
+ Thread.sleep(50);
|
|
|
+ keepTrying = !(NotificationServlet.counter == 2);
|
|
|
}
|
|
|
assertEquals(2, NotificationServlet.counter);
|
|
|
|
|
@@ -179,18 +180,20 @@ public abstract class NotificationTestCase extends HadoopTestCase {
|
|
|
// run a job with KILLED status
|
|
|
System.out.println(UtilsForTests.runJobKill(this.createJobConf(), inDir,
|
|
|
outDir).getID());
|
|
|
- synchronized(Thread.currentThread()) {
|
|
|
- stdPrintln("Sleeping for 2 seconds to give time for retry");
|
|
|
- Thread.currentThread().sleep(2000);
|
|
|
+ keepTrying = true;
|
|
|
+ for (int tries = 0; tries < 30 && keepTrying; tries++) {
|
|
|
+ Thread.sleep(50);
|
|
|
+ keepTrying = !(NotificationServlet.counter == 4);
|
|
|
}
|
|
|
assertEquals(4, NotificationServlet.counter);
|
|
|
|
|
|
// run a job with FAILED status
|
|
|
System.out.println(UtilsForTests.runJobFail(this.createJobConf(), inDir,
|
|
|
outDir).getID());
|
|
|
- synchronized(Thread.currentThread()) {
|
|
|
- stdPrintln("Sleeping for 2 seconds to give time for retry");
|
|
|
- Thread.currentThread().sleep(2000);
|
|
|
+ keepTrying = true;
|
|
|
+ for (int tries = 0; tries < 30 && keepTrying; tries++) {
|
|
|
+ Thread.sleep(50);
|
|
|
+ keepTrying = !(NotificationServlet.counter == 6);
|
|
|
}
|
|
|
assertEquals(6, NotificationServlet.counter);
|
|
|
}
|