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

Bikas Saha commented on YARN-382:
---------------------------------

Zhijie, your simpler fix makes sense and is a small change. It also clearly 
updates resource capability instead of being an implicit harder to follow 
change.
Hitesh had the additional idea that such normalization could happen within 
validation before application submission. The validation is tracked by 
YARN-193. Does it make sense to add this normalization in the code tracked on 
YARN-193?

Ideally, however, we agree that this copy from Container to 
ContainerLauchContext is brittle. Discussing offline with Sid and Hitesh, it 
looks like a cleaner solution would be to make ContainerLaunchContext 
completely userland and pass the Container as an argument to the StartContainer 
API. So Container would be a final read-only object for the clients of the 
allocate API. However, that change is large and some other things need to be 
considered. So we can postpone that to YARN-486.
                
> SchedulerUtils improve way normalizeRequest sets the resource capabilities
> --------------------------------------------------------------------------
>
>                 Key: YARN-382
>                 URL: https://issues.apache.org/jira/browse/YARN-382
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: scheduler
>    Affects Versions: 2.0.3-alpha
>            Reporter: Thomas Graves
>            Assignee: Zhijie Shen
>         Attachments: YARN-382_1.patch, YARN-382_demo.patch
>
>
> In YARN-370, we changed it from setting the capability to directly setting 
> memory and cores:
> -    ask.setCapability(normalized);
> +    ask.getCapability().setMemory(normalized.getMemory());
> +    ask.getCapability().setVirtualCores(normalized.getVirtualCores());
> We did this because it is directly setting the values in the original 
> resource object passed in when the AM gets allocated and without it the AM 
> doesn't get the resource normalized correctly in the submission context. See 
> YARN-370 for more details.
> I think we should find a better way of doing this long term, one so we don't 
> have to keep adding things there when new resources are added, two because 
> its a bit confusing as to what its doing and prone to someone accidentally 
> breaking it in the future again.  Something closer to what Arun suggested in 
> YARN-370 would be better but we need to make sure all the places work and get 
> some more testing on it before putting it in. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to