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 ki...@apache.org on 2015/01/29 19:37:03 UTC
hadoop git commit: HDFS-7603. The background replication queue
initialization may not let others run. Contributed by Kihwal Lee.
Repository: hadoop
Updated Branches:
refs/heads/trunk 342efa110 -> 89b07490f
HDFS-7603. The background replication queue initialization may not let others run. Contributed by Kihwal Lee.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/89b07490
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/89b07490
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/89b07490
Branch: refs/heads/trunk
Commit: 89b07490f8354bb83a67b7ffc917bfe99708e615
Parents: 342efa1
Author: Kihwal Lee <ki...@apache.org>
Authored: Thu Jan 29 12:36:22 2015 -0600
Committer: Kihwal Lee <ki...@apache.org>
Committed: Thu Jan 29 12:36:22 2015 -0600
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++
.../apache/hadoop/hdfs/server/blockmanagement/BlockManager.java | 5 +++++
2 files changed, 8 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/89b07490/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 4932c80..73f175f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -561,6 +561,9 @@ Release 2.7.0 - UNRELEASED
HDFS-7675. Remove unused member DFSClient#spanReceiverHost (cmccabe)
+ HDFS-7603. The background replication queue initialization may not let
+ others run (kihwal)
+
OPTIMIZATIONS
HDFS-7454. Reduce memory footprint for AclEntries in NameNode.
http://git-wip-us.apache.org/repos/asf/hadoop/blob/89b07490/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
index f240569..52bca48 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
@@ -2612,6 +2612,9 @@ public class BlockManager {
long totalBlocks = blocksMap.size();
replicationQueuesInitProgress = 0;
long totalProcessed = 0;
+ long sleepDuration =
+ Math.max(1, Math.min(numBlocksPerIteration/1000, 10000));
+
while (namesystem.isRunning() && !Thread.currentThread().isInterrupted()) {
int processed = 0;
namesystem.writeLockInterruptibly();
@@ -2668,6 +2671,8 @@ public class BlockManager {
}
} finally {
namesystem.writeUnlock();
+ // Make sure it is out of the write lock for sufficiently long time.
+ Thread.sleep(sleepDuration);
}
}
if (Thread.currentThread().isInterrupted()) {