hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhijie Shen (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (YARN-733) TestNMClient fails occasionally
Date Fri, 31 May 2013 18:10:21 GMT

     [ https://issues.apache.org/jira/browse/YARN-733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Zhijie Shen updated YARN-733:
-----------------------------

    Attachment: YARN-733.1.patch

In the patch:
1. Update the tests to wait until the expected container status occur
2. In NMClientImpl, add a piece of javadoc to describe that startContainer/stopContainer returns
doesn't mean container is actually started/stopped. There could be a transit container status.

Have run the test for tens of times, and no failure occurs.
                
> TestNMClient fails occasionally
> -------------------------------
>
>                 Key: YARN-733
>                 URL: https://issues.apache.org/jira/browse/YARN-733
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>         Attachments: YARN-733.1.patch
>
>
> The problem happens at:
> {code}
>         // getContainerStatus can be called after stopContainer
>         try {
>           ContainerStatus status = nmClient.getContainerStatus(
>               container.getId(), container.getNodeId(),
>               container.getContainerToken());
>           assertEquals(container.getId(), status.getContainerId());
>           assertEquals(ContainerState.RUNNING, status.getState());
>           assertTrue("" + i, status.getDiagnostics().contains(
>               "Container killed by the ApplicationMaster."));
>           assertEquals(-1000, status.getExitStatus());
>         } catch (YarnRemoteException e) {
>           fail("Exception is not expected");
>         }
> {code}
> NMClientImpl#stopContainer returns, but container hasn't been stopped immediately. ContainerManangerImpl
implements stopContainer in async style. Therefore, the container's status is in transition.
NMClientImpl#getContainerStatus immediately after stopContainer will get either the RUNNING
status or the COMPLETE one.
> There will be the similar problem wrt NMClientImpl#startContainer.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message