[ https://issues.apache.org/jira/browse/MAPREDUCE-6618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15119722#comment-15119722 ]
Jason Lowe commented on MAPREDUCE-6618: --------------------------------------- Thanks for updating the patch! Couple of nits: Should we be setting fields to null as we check them for non-null and close them? Is there a reason we use entrySet() instead of values() here? It ignores the job IDs, so thinking we don't need the full entry set. {code} for (Entry<JobID, ClientServiceDelegate> delegate : cache.entrySet()) { ClientServiceDelegate jobDelegate = delegate.getValue(); if (jobDelegate != null) { jobDelegate.close(); } } {code} > YarnClientProtocolProvider leaking the YarnClient thread. > ---------------------------------------------------------- > > Key: MAPREDUCE-6618 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-6618 > Project: Hadoop Map/Reduce > Issue Type: Bug > Reporter: Xuan Gong > Assignee: Xuan Gong > Attachments: MAPREDUCE-6618.1.patch, MAPREDUCE-6618.2.patch, > MAPREDUCE-6618.3.patch > > > YarnClientProtocolProvider creates YarnRunner which includes > ResourceMgrDelegate. In ResourceMgrDelegate, we would initiate and start > yarnclient. The yarnClient thread would be leaked due to > {code} > @Override > public void close(ClientProtocol clientProtocol) throws IOException { > // nothing to do > } > {code} in YarnClientProtocolProvider -- This message was sent by Atlassian JIRA (v6.3.4#6332)