[ 
https://issues.apache.org/jira/browse/HADOOP-10219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kihwal Lee updated HADOOP-10219:
--------------------------------
    Attachment: HADOOP-10219.v1.patch

I don't know why I thought a try block was necessary in {{getConnection()}}. 
That was useless since {{setupIOstreams()}} doesn't even throw.

Since {{connectingThread}} is only set inside the synchronized method, 
{{setupIOstreams()}}, and unset in the corresponding finally block, the caller 
thread won't be interrupting itself.

Tested the new patch manually against a blackhole namenode. ^C stops the client 
immediately.

Let's see what the new precommit says.

> ipc.Client.setupIOstreams() needs to check for ClientCache.stopClient 
> requested shutdowns 
> ------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-10219
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10219
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: ipc
>    Affects Versions: 2.2.0, 2.6.0
>            Reporter: Steve Loughran
>            Assignee: Kihwal Lee
>         Attachments: HADOOP-10219.patch, HADOOP-10219.v1.patch
>
>
> When {{ClientCache.stopClient()}} is called to stop the IPC client, if the 
> client
> is blocked spinning due to a connectivity problem, it does not exit until the 
> policy has timed out -so the stopClient() operation can hang for an extended 
> period of time.
> This can surface in the shutdown hook of FileSystem.cache.closeAll()



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to