Repository: hadoop Updated Branches: refs/heads/branch-2.9 91a4fb54f -> df2295c4c
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) (cherry picked from commit 10cc02f6436457ea88f6cd9a2cfb9894e53bd4c6) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/df2295c4 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/df2295c4 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/df2295c4 Branch: refs/heads/branch-2.9 Commit: df2295c4c4aff086405eb54df46617c33e38f065 Parents: 91a4fb5 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:57 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/df2295c4/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]
