Rohith commented on YARN-3202:

Thanks anybhav Dhoot and Jian He for pinching in!!
After YARN-3194, this issue description scenario works as expected i.e master 
contaner resource will be released immediately. And I believe 
non-work-preserving restart should be supported as well otherwise users who are 
using non-work-preserving mode get impacted.

> 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

Reply via email to