Use exponential backoff on Thread.sleep during DN shutdown
----------------------------------------------------------
Key: HADOOP-5890
URL: https://issues.apache.org/jira/browse/HADOOP-5890
Project: Hadoop Core
Issue Type: Improvement
Components: dfs
Reporter: Todd Lipcon
Assignee: Todd Lipcon
Tests waste a lot of time in DataNode.shutdown. Typical logs look like:
{code}
2009-05-21 17:13:20,177 INFO datanode.DataNode (DataNode.java:shutdown(637)) -
Waiting for threadgroup to exit, active threads is 0
2009-05-21 17:13:20,177 INFO datanode.DataBlockScanner
(DataBlockScanner.java:run(620)) - Exiting DataBlockScanner thread.
2009-05-21 17:13:21,117 INFO datanode.DataNode (DataNode.java:shutdown(637)) -
Waiting for threadgroup to exit, active threads is 0
{code}
In this example (and very commonly) the DataBlockScanner thread exits within
5-10ms after the first wait. The DN then sleeps an entire second before
succeeding in shutting down.
Using exponential backoff from a short value like 2ms up to a maximum of 1000ms
would solve this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.