You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by cu...@apache.org on 2007/06/20 23:58:18 UTC
svn commit: r549268 - in /lucene/hadoop/trunk: CHANGES.txt
src/java/org/apache/hadoop/dfs/DataNode.java
Author: cutting
Date: Wed Jun 20 14:58:17 2007
New Revision: 549268
URL: http://svn.apache.org/viewvc?view=rev&rev=549268
Log:
HADOOP-1501. Better randomize sending of block reports to namenode. Contributed by Dhruba.
Modified:
lucene/hadoop/trunk/CHANGES.txt
lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DataNode.java
Modified: lucene/hadoop/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/CHANGES.txt?view=diff&rev=549268&r1=549267&r2=549268
==============================================================================
--- lucene/hadoop/trunk/CHANGES.txt (original)
+++ lucene/hadoop/trunk/CHANGES.txt Wed Jun 20 14:58:17 2007
@@ -223,6 +223,9 @@
67. HADOOP-1455. Permit specification of arbitrary job options on
pipes command line. (Devaraj Das via cutting)
+ 68. HADOOP-1501. Better randomize sending of block reports to
+ namenode, so reduce load spikes. (Dhruba Borthakur via cutting)
+
Release 0.13.0 - 2007-06-08
Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DataNode.java
URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DataNode.java?view=diff&rev=549268&r1=549267&r2=549268
==============================================================================
--- lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DataNode.java (original)
+++ lucene/hadoop/trunk/src/java/org/apache/hadoop/dfs/DataNode.java Wed Jun 20 14:58:17 2007
@@ -483,7 +483,15 @@
//
DatanodeCommand cmd = namenode.blockReport(dnRegistration,
data.getBlockReport());
- lastBlockReport = now;
+ //
+ // If we have sent the first block report, then wait a random
+ // time before we start the periodic block reports.
+ //
+ if (lastBlockReport == 0) {
+ lastBlockReport = now - new Random().nextInt((int)(blockReportInterval));
+ } else {
+ lastBlockReport = now;
+ }
processCommand(cmd);
}