hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jian He (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-1372) Ensure all completed containers are reported to the AMs across RM restart
Date Wed, 13 Aug 2014 02:16:12 GMT

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

Jian He commented on YARN-1372:

bq. maybe we can just use NodeHeartbeatResponse#getContainersToCleanup to notify NM to remove
the containers from the context. 
I was thinking to reuse getContainersToCleanup to notify NM to remove containers. i.e. do
not clean up the containers until gets pulled by AM. On a second thought, this is not a good
solution, please disregard this comment. sorry for confusion. 

Comments on the patch:
bq. Second patch uploaded that adds expiration to the entries in NM
How about tie the NM container lifecycle to the application itself ?  i.e. Clean all containers
in context for each application in response.getApplicationsToCleanup(). 

- DECOMMISSIONED/LOST state possible to receive the new event?
- In RMAppAttemptImpl, why add a new previousJustFinishedContainers?
- RMContainerImpl already has the nodeId, many changes related to adding the NodeId are not
needed. e.g. scheduler changes, RMContainerRecoverEvent changes.
- please add tests too.

> Ensure all completed containers are reported to the AMs across RM restart
> -------------------------------------------------------------------------
>                 Key: YARN-1372
>                 URL: https://issues.apache.org/jira/browse/YARN-1372
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager
>            Reporter: Bikas Saha
>            Assignee: Anubhav Dhoot
>         Attachments: YARN-1372.prelim.patch, YARN-1372.prelim2.patch
> Currently the NM informs the RM about completed containers and then removes those containers
from the RM notification list. The RM passes on that completed container information to the
AM and the AM pulls this data. If the RM dies before the AM pulls this data then the AM may
not be able to get this information again. To fix this, NM should maintain a separate list
of such completed container notifications sent to the RM. After the AM has pulled the containers
from the RM then the RM will inform the NM about it and the NM can remove the completed container
from the new list. Upon re-register with the RM (after RM restart) the NM should send the
entire list of completed containers to the RM along with any other containers that completed
while the RM was dead. This ensures that the RM can inform the AM's about all completed containers.
Some container completions may be reported more than once since the AM may have pulled the
container but the RM may die before notifying the NM about the pull.

This message was sent by Atlassian JIRA

View raw message