From d79f63120e16cb03f3f85b5d79a84202881a95a5 Mon Sep 17 00:00:00 2001 From: Tsuyoshi Ozawa Date: Sat, 20 Dec 2014 22:35:28 +0900 Subject: [PATCH] YARN-2977. Fixed intermittent TestNMClient failure. (Contributed by Junping Du) (cherry picked from commit cf7fe583d14ebb16fc1b6e29dc2afbf67d24b9d1) --- .../hadoop/yarn/client/api/impl/TestNMClient.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestNMClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestNMClient.java index 88dbf81d2af..0d4a2714f82 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestNMClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/api/impl/TestNMClient.java @@ -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);