[ https://issues.apache.org/jira/browse/HDFS-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Wang updated HDFS-4816: ------------------------------ Attachment: hdfs-4816-3.patch Here's a new patch using a thread factory, setting daemon=true and a thread name. I also attached a log from where I throttled the test bandwidth to 1 B/s. You see it basically hang for 8 minutes after trying to shutdown the MiniDFSCluster, then this: {noformat} 2013-05-16 15:38:46,950 WARN mortbay.log (Slf4jLog.java:warn(76)) - 1 threads could not be stopped {noformat} Down the road, I still want to make image transfer actually cancellable, it'd fix this issue. > 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 > > > 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