hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bikas Saha (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-382) SchedulerUtils improve way normalizeRequest sets the resource capabilities
Date Mon, 18 Mar 2013 22:51:15 GMT

    [ 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

Mime
View raw message