Repository: hadoop Updated Branches: refs/heads/branch-2 15286d916 -> 10cc02f64
HDFS-14171. Performance improvement in Tailing EditLog. Contributed by Kenneth Yang. (cherry picked from commit e9a005dfcf4d2249235aeff4da85b321dddc1ca9) (cherry picked from commit c48640ffbd3852b75f898325ae0b3ea0ba864578) (cherry picked from commit f24684ca9cd70326e24376a33cda937c98295af0) (cherry picked from commit 054594c6145711c60f3cb848f08e515c4179f0c4) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/10cc02f6 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/10cc02f6 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/10cc02f6 Branch: refs/heads/branch-2 Commit: 10cc02f6436457ea88f6cd9a2cfb9894e53bd4c6 Parents: 15286d9 Author: Wei-Chiu Chuang <[email protected]> Authored: Fri Dec 28 10:34:18 2018 -0800 Committer: Wei-Chiu Chuang <[email protected]> Committed: Fri Dec 28 10:46:38 2018 -0800 ---------------------------------------------------------------------- .../hdfs/server/blockmanagement/BlockManagerSafeMode.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/10cc02f6/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManagerSafeMode.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManagerSafeMode.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManagerSafeMode.java index d0965b5..ae2f942 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManagerSafeMode.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManagerSafeMode.java @@ -541,7 +541,12 @@ class BlockManagerSafeMode { */ private boolean areThresholdsMet() { assert namesystem.hasWriteLock(); - int datanodeNum = blockManager.getDatanodeManager().getNumLiveDataNodes(); + // Calculating the number of live datanodes is time-consuming + // in large clusters. Skip it when datanodeThreshold is zero. + int datanodeNum = 0; + if (datanodeThreshold > 0) { + datanodeNum = blockManager.getDatanodeManager().getNumLiveDataNodes(); + } synchronized (this) { return blockSafe >= blockThreshold && datanodeNum >= datanodeThreshold; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
