Author: stevel
Date: Mon May 25 09:41:26 2009
New Revision: 778368
URL: http://svn.apache.org/viewvc?rev=778368&view=rev
Log:
HADOOP-5890 exponential backoff of sleep during DN shutdown
Modified:
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java
Modified:
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java?rev=778368&r1=778367&r2=778368&view=diff
==============================================================================
---
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java
(original)
+++
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/datanode/DataNode.java
Mon May 25 09:41:26 2009
@@ -632,6 +632,7 @@
// wait for all data receiver threads to exit
if (this.threadGroup != null) {
+ int sleepMs = 2;
while (true) {
this.threadGroup.interrupt();
LOG.info("Waiting for threadgroup to exit, active threads is " +
@@ -640,8 +641,12 @@
break;
}
try {
- Thread.sleep(1000);
+ Thread.sleep(sleepMs);
} catch (InterruptedException e) {}
+ sleepMs = sleepMs * 3 / 2; // exponential backoff
+ if (sleepMs > 1000) {
+ sleepMs = 1000;
+ }
}
}
// wait for dataXceiveServer to terminate