[
https://issues.apache.org/jira/browse/HDFS-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687422#comment-13687422
]
Colin Patrick McCabe commented on HDFS-4816:
--------------------------------------------
bq. I think we don't see an exception because StandbyCheckpointer#stop does a
thread.interrupt, so the blocking get on the future throws an uncaught
InterruptedException rather than an ExecutionException. This is then silently
caught in #doWork and the StandbyCheckpointer exits.
Can you add a log to {{StandbyCheckpointer#doWork}} for the case where it gets
interrupted?
> transitionToActive blocks if the SBN is doing checkpoint image transfer
> -----------------------------------------------------------------------
>
> Key: HDFS-4816
> URL: https://issues.apache.org/jira/browse/HDFS-4816
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 3.0.0, 2.0.4-alpha
> Reporter: Andrew Wang
> Assignee: Andrew Wang
> Attachments: hdfs-4816-1.patch, hdfs-4816-2.patch, hdfs-4816-3.patch,
> hdfs-4816-slow-shutdown.txt, stacks.out
>
>
> The NN and SBN do this dance during checkpoint image transfer with nested
> HTTP GETs via {{HttpURLConnection}}. When an admin does a
> {{-transitionToActive}} during this transfer, part of that is interrupting an
> ongoing checkpoint so we can transition immediately.
> However, the {{thread.interrupt()}} in {{StandbyCheckpointer#stop}} gets
> swallowed by {{connection.getResponseCode()}} in
> {{TransferFsImage#doGetUrl}}. None of the methods in HttpURLConnection throw
> InterruptedException, so we need to do something else (perhaps HttpClient
> [1]):
> [1]: http://hc.apache.org/httpclient-3.x/
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira