[ https://issues.apache.org/jira/browse/MAPREDUCE-6618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15117314#comment-15117314 ]
Jason Lowe commented on MAPREDUCE-6618: --------------------------------------- In this patch I'm confused on how the changes to the protocol provider accomplish anything. There's a new variable, yarnRunner, initialized to null and set nowhere else. In the close method it checks it for non-null before doing anything, but how can it be anything but null? Note that a single protocol provider can create multiple clients, so having the protocol provider track a single YARNRunner client does not seem appropriate. The close method is handed the object to cleanup, namely clientProtocol, but it's ignoring it even in the proposed patch. It needs to cast that to a YARNRunner and close that object. > 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 > > > 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)