HDFS-10620. StringBuilder created and appended even if logging is disabled. Contributed by Staffan Friberg.

(cherry picked from commit f7dabe3add)
This commit is contained in:
Akira Ajisaka 2016-07-19 15:13:01 -07:00
parent 84c785036f
commit 2685e16f38
1 changed files with 6 additions and 3 deletions

View File

@ -1195,16 +1195,19 @@ public class BlockManager implements BlockStatsMXBean {
if (!isPopulatingReplQueues()) { if (!isPopulatingReplQueues()) {
return; return;
} }
StringBuilder datanodes = new StringBuilder(); StringBuilder datanodes = blockLog.isDebugEnabled()
? new StringBuilder() : null;
for (DatanodeStorageInfo storage : blocksMap.getStorages(b)) { for (DatanodeStorageInfo storage : blocksMap.getStorages(b)) {
if (storage.getState() != State.NORMAL) { if (storage.getState() != State.NORMAL) {
continue; continue;
} }
final DatanodeDescriptor node = storage.getDatanodeDescriptor(); final DatanodeDescriptor node = storage.getDatanodeDescriptor();
invalidateBlocks.add(b, node, false); invalidateBlocks.add(b, node, false);
datanodes.append(node).append(" "); if (datanodes != null) {
datanodes.append(node).append(" ");
}
} }
if (datanodes.length() != 0) { if (datanodes != null & datanodes.length() != 0) {
blockLog.debug("BLOCK* addToInvalidates: {} {}", b, datanodes); blockLog.debug("BLOCK* addToInvalidates: {} {}", b, datanodes);
} }
} }