You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Rohith (JIRA)" <ji...@apache.org> on 2015/02/23 13:04:12 UTC

[jira] [Commented] (YARN-3202) Improve master container resource release time ICO work preserving restart enabled

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

Rohith commented on YARN-3202:
------------------------------

Kindly review the patch, the patch is verified mannually deploying in cluster since tests is not added.

> 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)