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

Jian He commented on YARN-3202:
-------------------------------

this piece of code is legacy code only for non-work-preserving restart.  The 
existing code path for work-preserving restart covers this already. 
Given that we only support work-preserving restart, I think we can get rid of 
all the conditional code for non-work-preserving restart and the tests may need 
to be changed too.

> Improve master container resource release time ICO work preserving restart 
> enabled
> ----------------------------------------------------------------------------------
>
>                 Key: YARN-3202
>                 URL: https://issues.apache.org/jira/browse/YARN-3202
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: resourcemanager
>            Reporter: Rohith
>            Assignee: Rohith
>            Priority: Minor
>         Attachments: 0001-YARN-3202.patch
>
>
> While NM is registering with RM , If NM sends completed_container for 
> masterContainer then immediately resources of master container are released 
> by triggering the CONTAINER_FINISHED event. This releases all the resources 
> held by master container and allocated for other pending resource requests by 
> applications.
> But ICO rm work preserving restart is enabled, if master container state is 
> completed then the attempt is not move to FINISHING as long as container 
> expiry triggered by container livelyness monitor. I think in the below code, 
> need not check for work preserving restart enable so that immediately master 
> container resources get released and allocated to other pending resource 
> requests of different applications
> {code}
>     // Handle received container status, this should be processed after new
>     // RMNode inserted
>     if (!rmContext.isWorkPreservingRecoveryEnabled()) {
>       if (!request.getNMContainerStatuses().isEmpty()) {
>         LOG.info("received container statuses on node manager register :"
>             + request.getNMContainerStatuses());
>         for (NMContainerStatus status : request.getNMContainerStatuses()) {
>           handleNMContainerStatus(status, nodeId);
>         }
>       }
>     }
> {code}



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

Reply via email to