[ 
https://issues.apache.org/jira/browse/MAPREDUCE-7365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yao Guangdong resolved MAPREDUCE-7365.
--------------------------------------
    Resolution: Abandoned

> AppMaster register  UAM can lost application priority in subCluster
> -------------------------------------------------------------------
>
>                 Key: MAPREDUCE-7365
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7365
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: applicationmaster, nodemanager, resourcemanager, yarn
>    Affects Versions: 2.9.0, 3.0.0, 3.1.0, 3.3.0
>            Reporter: Yao Guangdong
>            Priority: Major
>             Fix For: 3.3.2
>
>
> AppMaster register uam to subCluster can lost application priority in yarn 
> federation cluster.Which make the subCluster's RM allocate resouce to 
> application use default priority regardless of the application's real 
> priority.
> By analyzing the code, I found that the appMaster submitApplication to 
> subCluster did't set the priority to ApplicationSubmissionContext. As follows:
>  
> {code:java}
> private void submitUnmanagedApp(ApplicationId appId)
>  throws YarnException, IOException {
>  SubmitApplicationRequest submitRequest =
>  this.recordFactory.newRecordInstance(SubmitApplicationRequest.class);
> ApplicationSubmissionContext context = this.recordFactory
>  .newRecordInstance(ApplicationSubmissionContext.class);
> context.setApplicationId(appId);
>  context.setApplicationName(APP_NAME + "-" + appNameSuffix);
>  if (StringUtils.isBlank(this.queueName)) {
>  context.setQueue(this.conf.get(DEFAULT_QUEUE_CONFIG,
>  YarnConfiguration.DEFAULT_QUEUE_NAME));
>  } else {
>  context.setQueue(this.queueName);
>  }
> ContainerLaunchContext amContainer =
>  this.recordFactory.newRecordInstance(ContainerLaunchContext.class);
>  Resource resource = BuilderUtils.newResource(1024, 1);
>  context.setResource(resource);
>  context.setAMContainerSpec(amContainer);
>  submitRequest.setApplicationSubmissionContext(context);
> context.setUnmanagedAM(true);
>  context.setKeepContainersAcrossApplicationAttempts(
>  this.keepContainersAcrossApplicationAttempts);
> LOG.info("Submitting unmanaged application {}", appId);
>  this.rmClient.submitApplication(submitRequest);
>  }
> {code}
> Finnally, I fixed this by set application's priority to the 
> ApplicationSubmissionContext.  The priority which from the homeCluster's 
> response when register appMaster to homeCluster's RM.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-dev-h...@hadoop.apache.org

Reply via email to