[
https://issues.apache.org/jira/browse/YARN-966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhijie Shen updated YARN-966:
-----------------------------
Attachment: YARN-966.1.patch
Created a patch:
1. ContainerImpl#getLocalizedResources returns null when it's not at LOCALIZED
2. ContainerLaunch#call checks null after calling
ContainerImpl#getLocalizedResources. If null, it exits the thread, and sends
CONTAINER_EXITED_WITH_FAILURE.
3. Corresponding test cases are added.
> The thread of ContainerLaunch#call will fail without any signal if
> getLocalizedResources() is called when the container is not at LOCALIZED
> -------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: YARN-966
> URL: https://issues.apache.org/jira/browse/YARN-966
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Zhijie Shen
> Assignee: Zhijie Shen
> Attachments: YARN-966.1.patch
>
>
> In ContainerImpl.getLocalizedResources(), there's:
> {code}
> assert ContainerState.LOCALIZED == getContainerState(); // TODO: FIXME!!
> {code}
> ContainerImpl.getLocalizedResources() is called in ContainerLaunch.call(),
> which is scheduled on a separate thread. If the container is not at LOCALIZED
> (e.g. it is at KILLING, see YARN-906), an AssertError will be thrown and
> fails the thread without notifying NM. Therefore, the container cannot
> receive more events, which are supposed to be sent from
> ContainerLaunch.call(), and move towards completion.
--
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