Skip to content

Commit e9a005d

Browse files
committed
HDFS-14171. Performance improvement in Tailing EditLog. Contributed by Kenneth Yang.
1 parent 128f340 commit e9a005d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManagerSafeMode.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,12 @@ private void initializeReplQueuesIfNecessary() {
567567
*/
568568
private boolean areThresholdsMet() {
569569
assert namesystem.hasWriteLock();
570-
int datanodeNum = blockManager.getDatanodeManager().getNumLiveDataNodes();
570+
// Calculating the number of live datanodes is time-consuming
571+
// in large clusters. Skip it when datanodeThreshold is zero.
572+
int datanodeNum = 0;
573+
if (datanodeThreshold > 0) {
574+
datanodeNum = blockManager.getDatanodeManager().getNumLiveDataNodes();
575+
}
571576
synchronized (this) {
572577
return blockSafe >= blockThreshold && datanodeNum >= datanodeThreshold;
573578
}

0 commit comments

Comments
 (0)