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

Reply via email to