You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Zhijie Shen (JIRA)" <ji...@apache.org> on 2013/05/31 20:10:21 UTC
[jira] [Updated] (YARN-733) TestNMClient fails occasionally
[ 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