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

Jian He commented on YARN-4740:
-------------------------------

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)

Reply via email to