| noticeDeadDatanode(NameNode, String) |  | 0% |  | 0% | 3 | 3 | 16 | 16 | 1 | 1 |
| getNumberOfDomains(BlockManager, Block) |  | 0% |  | 0% | 8 | 8 | 12 | 12 | 1 | 1 |
| getStorageReportsForDatanode(DatanodeDescriptor) |  | 0% |  | 0% | 2 | 2 | 10 | 10 | 1 | 1 |
| getNumberOfRacks(BlockManager, Block) |  | 0% |  | 0% | 7 | 7 | 12 | 12 | 1 | 1 |
| getReplicaInfo(FSNamesystem, Block) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| getBlockIterator(FSNamesystem, String, int) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| setWritingPrefersLocalNode(BlockManager, boolean) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| stopRedundancyThread(BlockManager) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| checkHeartbeatAndGetUnderReplicatedBlocksCount(FSNamesystem, BlockManager) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getLocalDatanodeDescriptor(boolean) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| isDatanodeRemoved(NameNode, String) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getDatanode(FSNamesystem, String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| setStartupSafeModeForTest(BlockManager) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getDatanodeDescriptor(String, String, DatanodeStorage, String) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getDatanodeDescriptor(String, String, boolean) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| computeAllPendingWork(BlockManager) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| checkHeartbeat(BlockManager) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| waitForMarkedDeleteQueueIsEmpty(BlockManager) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| checkRedundancy(BlockManager) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getDatanodeDescriptor(String, String, DatanodeStorage) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| newDatanodeStorageInfo(DatanodeDescriptor, DatanodeStorage) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| addStorage(BlockInfo, DatanodeStorageInfo, Block) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setNodeReplicationLimit(BlockManager, int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| wakeupPendingReconstructionTimerThread(BlockManager) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addBlockToBeReplicated(DatanodeDescriptor, Block, DatanodeStorageInfo[]) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| removeStorage(BlockInfo, DatanodeStorageInfo) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getHeartbeatManager(BlockManager) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| computeInvalidationWork(BlockManager) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateStorage(DatanodeDescriptor, DatanodeStorage) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| recheckDecommissionState(DatanodeManager) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isNodeHealthyForDecommissionOrMaintenance(BlockManager, DatanodeDescriptor) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| BlockManagerTestUtil() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockIterator(DatanodeStorageInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateState(BlockManager) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getCorruptReplicas(BlockManager) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getComputedDatanodeWork(BlockManager) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| rescanPostponedMisreplicatedBlocks(BlockManager) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |