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 "Jian He (JIRA)" <ji...@apache.org> on 2016/03/01 18:06:18 UTC

[jira] [Comment Edited] (YARN-4740) container complete msg may lost while AM restart in race condition

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

Jian He edited comment on YARN-4740 at 3/1/16 5:05 PM:
-------------------------------------------------------

thanks [~sandflee] !
- could you add a check that the completed container is indeed in the returned allocate response ? also check that the completed container is not in the RMAppAttemptImpl#justFinishedContainers.
{code}
    // sleep a while make sure allocate() get complete container,
    // before this msg pass to AM, AM may crash
    Thread.sleep(1000);
    am1.allocate(
        new ArrayList<ResourceRequest>(), new ArrayList<ContainerId>());
{code}
- it's unnecessary to parameterize the test based on whether RMWorkPreservingEnabled or not, because the test is not doing any RM restart at all.
{code}
    testAMRestartNotLostContainerCompleteMsg(true);
    testAMRestartNotLostContainerCompleteMsg(false);
{code}
- please also add a comment about why doing so in transferStateFromAttempt


was (Author: jianhe):
thanks [~sandflee] !
- could you add a check that the completed container is indeed in the returned allocate response ? also check that the completed container is not in the RMAppAttemptImpl#justFinishedContainers.
{code}
    // sleep a while make sure allocate() get complete container,
    // before this msg pass to AM, AM may crash
    Thread.sleep(1000);
    am1.allocate(
        new ArrayList<ResourceRequest>(), new ArrayList<ContainerId>());
{code}
- it's unnecessary to parameterize the test based on whether RMWorkPreservingEnabled or not, because the test is not doing any RM restart at all.
{code}
    testAMRestartNotLostContainerCompleteMsg(true);
    testAMRestartNotLostContainerCompleteMsg(false);
{code}

> container complete msg may lost while AM restart in race condition
> ------------------------------------------------------------------
>
>                 Key: YARN-4740
>                 URL: https://issues.apache.org/jira/browse/YARN-4740
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: sandflee
>            Assignee: sandflee
>         Attachments: YARN-4740.01.patch
>
>
> 1, container completed, and the msg is store in RMAppAttempt.justFinishedContainers
> 2,  AM allocate and before allocateResponse came to AM, AM crashed
> 3,  AM restart and couldn't get the container complete msg.



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