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

MENG DING commented on YARN-4138:
---------------------------------

Hi, [~sandflee]

1. Yes, this is the expected behavior. If you take a look at the discussion 
from the beginning of this thread, we have decided that if multiple increase 
tokens are granted by RM in a row for a container before AM uses any of the 
token, the last token will take effect, and any previous tokens will be 
effectively cancelled. If RM sees a difference between its own number and the 
number reported from NM, it will consider it as an *unconfirmed* state, and 
won't set the lastConfirmed value. Besides, if AM issues multiple increase 
requests, but doesn't use the last token, it is considered an user error.

2. If I understand your question correctly, then you are right that you should 
pass container B. In fact, the container B you are talking about is technically 
still container A, as uniquely identified by the container ID. When resource 
increase request of container A is granted by RM, RM still sends back container 
A, but with updated resource and token. As an Application Master developer, you 
are expected to track all live containers in AM, and in the 
onContainersResourceChanged(List<Container> changedContainers) callback 
function, you need to replace the original container A with the updated 
container A.

> Roll back container resource allocation after resource increase token expires
> -----------------------------------------------------------------------------
>
>                 Key: YARN-4138
>                 URL: https://issues.apache.org/jira/browse/YARN-4138
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: api, nodemanager, resourcemanager
>            Reporter: MENG DING
>            Assignee: MENG DING
>         Attachments: YARN-4138-YARN-1197.1.patch, YARN-4138-YARN-1197.2.patch
>
>
> In YARN-1651, after container resource increase token expires, the running 
> container is killed.
> This ticket will change the behavior such that when a container resource 
> increase token expires, the resource allocation of the container will be 
> reverted back to the value before the increase.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to