[ 
https://issues.apache.org/jira/browse/YARN-3464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14511771#comment-14511771
 ] 

Karthik Kambatla commented on YARN-3464:
----------------------------------------

Thanks for uploading the patch, [~zxu]. 

Comments:
# ContainerImpl: unrelated to the patch, 
{{container.metrics.endInitingContainer()}} should likely move up to right 
after {{container.sendLaunchEvent()}}
# Nit: Simplify javadoc for 
{{ResourceLocalizationService#handleContainerResourcesLocalized}}. How about 
"Once a container's resources are localized, kill the corresponding {@link 
ContainerLocalizer}"
# ResourceLocalizationService.LocalizerRunner#update - mostly unrelated to this 
patch
## Rename to {{processHeartbeat}}?
## I don't see the point of a LocalizerAction variable initialized to DIE. How 
about changing that to a {{boolean fetchFailed}}? 

> Race condition in LocalizerRunner causes container localization timeout.
> ------------------------------------------------------------------------
>
>                 Key: YARN-3464
>                 URL: https://issues.apache.org/jira/browse/YARN-3464
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: nodemanager
>            Reporter: zhihai xu
>            Assignee: zhihai xu
>            Priority: Critical
>         Attachments: YARN-3464.000.patch
>
>
> Race condition in LocalizerRunner causes container localization timeout.
> Currently LocalizerRunner will kill the ContainerLocalizer when pending list 
> for LocalizerResourceRequestEvent is empty.
> {code}
>       } else if (pending.isEmpty()) {
>         action = LocalizerAction.DIE;
>       }
> {code}
> If a LocalizerResourceRequestEvent is added after LocalizerRunner kill the 
> ContainerLocalizer due to empty pending list, this 
> LocalizerResourceRequestEvent will never be handled.
> Without ContainerLocalizer, LocalizerRunner#update will never be called.
> The container will stay at LOCALIZING state, until the container is killed by 
> AM due to TASK_TIMEOUT.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to