YARN-1425. TestRMRestart fails because MockRM.waitForState(AttemptId) uses current attempt instead of the attempt passed as argument (Omkar Vinit Joshi via bikas)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1543952 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c131ae39fc
commit
8313697752
|
@ -160,6 +160,10 @@ Release 2.3.0 - UNRELEASED
|
|||
process same allocate request twice resulting in additional containers
|
||||
getting allocated. (Omkar Vinit Joshi via bikas)
|
||||
|
||||
YARN-1425. TestRMRestart fails because MockRM.waitForState(AttemptId) uses
|
||||
current attempt instead of the attempt passed as argument (Omkar Vinit
|
||||
Joshi via bikas)
|
||||
|
||||
Release 2.2.1 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -107,7 +107,7 @@ public class MockRM extends ResourceManager {
|
|||
throws Exception {
|
||||
RMApp app = getRMContext().getRMApps().get(attemptId.getApplicationId());
|
||||
Assert.assertNotNull("app shouldn't be null", app);
|
||||
RMAppAttempt attempt = app.getCurrentAppAttempt();
|
||||
RMAppAttempt attempt = app.getRMAppAttempt(attemptId);
|
||||
int timeoutSecs = 0;
|
||||
while (!finalState.equals(attempt.getAppAttemptState()) && timeoutSecs++ < 40) {
|
||||
System.out.println("AppAttempt : " + attemptId
|
||||
|
|
|
@ -487,6 +487,8 @@ public class TestRMRestart {
|
|||
Assert.assertEquals(2, rmApp.getAppAttempts().size());
|
||||
// am1 attempt should be in FAILED state where as am2 attempt should be in
|
||||
// LAUNCHED state
|
||||
rm2.waitForState(am1.getApplicationAttemptId(), RMAppAttemptState.FAILED);
|
||||
rm2.waitForState(am2.getApplicationAttemptId(), RMAppAttemptState.LAUNCHED);
|
||||
Assert.assertEquals(RMAppAttemptState.FAILED,
|
||||
rmApp.getAppAttempts().get(am1.getApplicationAttemptId())
|
||||
.getAppAttemptState());
|
||||
|
@ -524,14 +526,17 @@ public class TestRMRestart {
|
|||
Assert.assertEquals(3, rmApp.getAppAttempts().size());
|
||||
// am1 and am2 attempts should be in FAILED state where as am3 should be
|
||||
// in LAUNCHED state
|
||||
rm3.waitForState(am1.getApplicationAttemptId(), RMAppAttemptState.FAILED);
|
||||
rm3.waitForState(am2.getApplicationAttemptId(), RMAppAttemptState.FAILED);
|
||||
ApplicationAttemptId latestAppAttemptId =
|
||||
rmApp.getCurrentAppAttempt().getAppAttemptId();
|
||||
rm3.waitForState(latestAppAttemptId, RMAppAttemptState.LAUNCHED);
|
||||
Assert.assertEquals(RMAppAttemptState.FAILED,
|
||||
rmApp.getAppAttempts().get(am1.getApplicationAttemptId())
|
||||
.getAppAttemptState());
|
||||
Assert.assertEquals(RMAppAttemptState.FAILED,
|
||||
rmApp.getAppAttempts().get(am2.getApplicationAttemptId())
|
||||
.getAppAttemptState());
|
||||
ApplicationAttemptId latestAppAttemptId =
|
||||
rmApp.getCurrentAppAttempt().getAppAttemptId();
|
||||
Assert.assertEquals(RMAppAttemptState.LAUNCHED,rmApp.getAppAttempts()
|
||||
.get(latestAppAttemptId).getAppAttemptState());
|
||||
|
||||
|
@ -562,6 +567,7 @@ public class TestRMRestart {
|
|||
rm4.waitForState(rmApp.getApplicationId(), RMAppState.ACCEPTED);
|
||||
Assert.assertEquals(4, rmApp.getAppAttempts().size());
|
||||
Assert.assertEquals(RMAppState.ACCEPTED, rmApp.getState());
|
||||
rm4.waitForState(latestAppAttemptId, RMAppAttemptState.SCHEDULED);
|
||||
Assert.assertEquals(RMAppAttemptState.SCHEDULED, rmApp.getAppAttempts()
|
||||
.get(latestAppAttemptId).getAppAttemptState());
|
||||
|
||||
|
@ -571,6 +577,8 @@ public class TestRMRestart {
|
|||
rm4.waitForState(app2.getApplicationId(), RMAppState.ACCEPTED);
|
||||
Assert.assertEquals(RMAppState.ACCEPTED, app2.getState());
|
||||
Assert.assertEquals(1, app2.getAppAttempts().size());
|
||||
rm4.waitForState(app2.getCurrentAppAttempt().getAppAttemptId(),
|
||||
RMAppAttemptState.SCHEDULED);
|
||||
Assert.assertEquals(RMAppAttemptState.SCHEDULED, app2
|
||||
.getCurrentAppAttempt().getAppAttemptState());
|
||||
|
||||
|
|
Loading…
Reference in New Issue