[
https://issues.apache.org/jira/browse/YARN-3202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14335977#comment-14335977
]
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
(v6.3.4#6332)