hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karthik Kambatla (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3464) Race condition in LocalizerRunner causes container localization timeout.
Date Fri, 24 Apr 2015 21:21:39 GMT

    [ 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)

Mime
View raw message