Author: rangadi
Date: Wed Jan 7 16:58:06 2009
New Revision: 732575
URL: http://svn.apache.org/viewvc?rev=732575&view=rev
Log:
HADOOP-4971. A long (unexpected) delay at datanodes could make
subsequent\nblock reports from many datanode at the same time. (Raghu Angadi)
Modified:
hadoop/core/branches/branch-0.18/CHANGES.txt (contents, props changed)
hadoop/core/branches/branch-0.18/src/hdfs/org/apache/hadoop/dfs/DataNode.java
Modified: hadoop/core/branches/branch-0.18/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/CHANGES.txt?rev=732575&r1=732574&r2=732575&view=diff
==============================================================================
--- hadoop/core/branches/branch-0.18/CHANGES.txt (original)
+++ hadoop/core/branches/branch-0.18/CHANGES.txt Wed Jan 7 16:58:06 2009
@@ -130,6 +130,9 @@
HADOOP-4961. Fix ConcurrentModificationException in lease recovery
of empty files. (shv)
+ HADOOP-4971. A long (unexpected) delay at datanodes could make subsequent
+ block reports from many datanode at the same time. (Raghu Angadi)
+
Release 0.18.2 - 2008-11-03
BUG FIXES
Propchange: hadoop/core/branches/branch-0.18/CHANGES.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jan 7 16:58:06 2009
@@ -1 +1 @@
-/hadoop/core/trunk/CHANGES.txt:699517,700163,700923,704701,705420,705430,707258,709040,720602,723460,723831,723918
+/hadoop/core/trunk/CHANGES.txt:699517,700163,700923,704701,705420,705430,707258,709040,720602,723460,723831,723918,732572
Modified:
hadoop/core/branches/branch-0.18/src/hdfs/org/apache/hadoop/dfs/DataNode.java
URL:
http://svn.apache.org/viewvc/hadoop/core/branches/branch-0.18/src/hdfs/org/apache/hadoop/dfs/DataNode.java?rev=732575&r1=732574&r2=732575&view=diff
==============================================================================
---
hadoop/core/branches/branch-0.18/src/hdfs/org/apache/hadoop/dfs/DataNode.java
(original)
+++
hadoop/core/branches/branch-0.18/src/hdfs/org/apache/hadoop/dfs/DataNode.java
Wed Jan 7 16:58:06 2009
@@ -755,7 +755,14 @@
lastBlockReport = startTime -
R.nextInt((int)(blockReportInterval));
resetBlockReportTime = false;
} else {
- lastBlockReport = startTime;
+ /* say the last block report was at 8:20:14. The current report
+ * should have started around 9:20:14 (default 1 hour interval).
+ * If current time is :
+ * 1) normal like 9:20:18, next report should be at 10:20:14
+ * 2) unexpected like 11:35:43, next report should be at 12:20:14
+ */
+ lastBlockReport += (now() - lastBlockReport) /
+ blockReportInterval * blockReportInterval;
}
processCommand(cmd);
}