[ 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-2.patch Thanks for the review, Todd. The attached test case isn't perfect since there's a potential timing issue. I believe {{cluster.shutdown()}} in the test's {{@After}} hangs on the background transfer thread. When I had the transfer throttled to 1 B/s it took 9 minutes to complete (successfully), so I set it to 100B/s for faster test runs. The log shows it's still testing the behavior correctly though, so it's probably fine. I also do the rethrow of any exceptions from the Future, but we'll miss any exceptions thrown after it interrupts out. Probably fine also. > 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 > > > 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