[
https://issues.apache.org/jira/browse/TWILL-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16295294#comment-16295294
]
Terence Yim commented on TWILL-252:
-----------------------------------
Do you expect the application to fail to launch due to unable to acquire
container of the desired size? It can be a static check before the application
is submitted to YARN.
> Not providing any feedback when size of the container requested can't be
> allocated
> ----------------------------------------------------------------------------------
>
> Key: TWILL-252
> URL: https://issues.apache.org/jira/browse/TWILL-252
> Project: Apache Twill
> Issue Type: Bug
> Reporter: Yuliya Feldman
>
> Looks like when YARN is configured with max memory per container
> (yarn.scheduler.maximum-allocation-mb) less then amount of memory end user
> allocates for their application and container is allocated with just
> yarn.scheduler.maximum-allocation-mb value there is no way to know about it
> until container is allocated.
> We try to divide memory into heap and off-heap and end up with setting up off
> heap to the value higher then allocated for the container, as application
> assumes it gets what it asked for or container is not allocated at all.
> Need either ability to fail application in this case or not allocate
> container with memory less then asked.
> As currently Twill adjusts memory and cpu with only INFO level messages in
> AppMaster log:
> from Hadoop21YarnAMClient.java
> {code:java}
> protected Resource adjustCapability(Resource resource) {
> int cores = resource.getVirtualCores();
> int updatedCores = Math.min(resource.getVirtualCores(),
> maxCapability.getVirtualCores());
> if (cores != updatedCores) {
> resource.setVirtualCores(updatedCores);
> LOG.info("Adjust virtual cores requirement from {} to {}.", cores,
> updatedCores);
> }
> int updatedMemory = Math.min(resource.getMemory(),
> maxCapability.getMemory());
> if (resource.getMemory() != updatedMemory) {
> resource.setMemory(updatedMemory);
> LOG.info("Adjust memory requirement from {} to {} MB.",
> resource.getMemory(), updatedMemory);
> }
> return resource;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)