[
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)