YARN-2977. Fixed intermittent TestNMClient failure. (Contributed by Junping Du)

This commit is contained in:
Tsuyoshi Ozawa 2014-12-20 22:35:28 +09:00
parent c1f857b0b4
commit cf7fe583d1
1 changed files with 7 additions and 3 deletions

View File

@ -344,10 +344,11 @@ public class TestNMClient {
// getContainerStatus can be called after stopContainer
try {
// O is possible if CLEANUP_CONTAINER is executed too late
// 137 is possible if the container is not terminated but killed
// -105 is possible if the container is not terminated but killed
testGetContainerStatus(container, i, ContainerState.COMPLETE,
"Container killed by the ApplicationMaster.", Arrays.asList(
new Integer[] {ContainerExitStatus.KILLED_BY_APPMASTER}));
new Integer[] {ContainerExitStatus.KILLED_BY_APPMASTER,
ContainerExitStatus.SUCCESS}));
} catch (YarnException e) {
// The exception is possible because, after the container is stopped,
// it may be removed from NM's context.
@ -383,7 +384,10 @@ public class TestNMClient {
assertEquals(container.getId(), status.getContainerId());
assertTrue("" + index + ": " + status.getDiagnostics(),
status.getDiagnostics().contains(diagnostics));
assertTrue(exitStatuses.contains(status.getExitStatus()));
assertTrue("Exit Statuses are supposed to be in: " + exitStatuses +
", but the actual exit status code is: " + status.getExitStatus(),
exitStatuses.contains(status.getExitStatus()));
break;
}
Thread.sleep(100);