Rohith commented on YARN-3202:

bq. as for work-preserving restart, master container completed event will be 
sent too.
I agree it is sending after yarn-3194 and issue is not ocurring now. Before 
yarn-3194, since NMContainerStatus were not handled , RMAppAttempt always wait 
for container-expiry to trigger for master container in RUNNING state. 

> 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