Hong Zhiguo created YARN-2371: --------------------------------- Summary: Wrong NMToken is issued when NM preserving restart with containers running Key: YARN-2371 URL: https://issues.apache.org/jira/browse/YARN-2371 Project: Hadoop YARN Issue Type: Bug Components: resourcemanager Reporter: Hong Zhiguo Assignee: Hong Zhiguo
When application is submitted with "ApplicationSubmissionContext.getKeepContainersAcrossApplicationAttempts() == true", and NM is restarted with containers running, wrong NMToken is issued to AM through RegisterApplicationMasterResponse. See the NM log: {code} 2014-07-30 11:59:58,941 ERROR org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl: Unauthorized request to start container.- NMToken for application attempt : appattempt_1406691610864_0002_000001 was used for starting container with container token issued for application attempt : appattempt_1406691610864_0002_000002 {code} The reason is in below code: {code} createAndGetNMToken(String applicationSubmitter, ApplicationAttemptId appAttemptId, Container container) { ...... Token token = createNMToken(container.getId().getApplicationAttemptId(), container.getNodeId(), applicationSubmitter); ...... } {code} "appAttemptId" instead of "container.getId().getApplicationAttemptId()" should be passed to "createNMToken". -- This message was sent by Atlassian JIRA (v6.2#6252)