HDFS-14171. Performance improvement in Tailing EditLog. Contributed by Kenneth Yang.

(cherry picked from commit e9a005dfcf4d2249235aeff4da85b321dddc1ca9)
(cherry picked from commit c48640ffbd3852b75f898325ae0b3ea0ba864578)
This commit is contained in:
Wei-Chiu Chuang 2018-12-28 10:34:18 -08:00
parent de2b04a74b
commit f24684ca9c

View File

@ -561,7 +561,12 @@ private void initializeReplQueuesIfNecessary() {
*/
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;
}