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