| BlockManager(Namesystem, boolean, Configuration) |  | 0% | | n/a | 1 | 1 | 77 | 77 | 1 | 1 |
| addStoredBlock(BlockInfo, Block, DatanodeStorageInfo, DatanodeDescriptor, boolean) |  | 0% |  | 0% | 24 | 24 | 55 | 55 | 1 | 1 |
| createLocatedBlock(LocatedBlockBuilder, BlockInfo, long) |  | 0% |  | 0% | 27 | 27 | 53 | 53 | 1 | 1 |
| metaSave(PrintWriter) |  | 0% |  | 0% | 16 | 16 | 68 | 68 | 1 | 1 |
| scheduleReconstruction(BlockInfo, int) |  | 0% |  | 0% | 16 | 16 | 53 | 53 | 1 | 1 |
| checkReplicaCorrupt(Block, HdfsServerConstants.ReplicaState, BlockInfo, HdfsServerConstants.BlockUCState, DatanodeDescriptor) |  | 0% |  | 0% | 19 | 19 | 45 | 45 | 1 | 1 |
| processReport(DatanodeID, DatanodeStorage, BlockListAsLongs, BlockReportContext) |  | 0% |  | 0% | 16 | 16 | 41 | 41 | 1 | 1 |
| chooseSourceDatanodes(BlockInfo, List, List, NumberReplicas, List, List, List, int) |  | 0% |  | 0% | 32 | 32 | 58 | 58 | 1 | 1 |
| computeReconstructionWorkForBlocks(List) |  | 0% |  | 0% | 16 | 16 | 50 | 50 | 1 | 1 |
| chooseExcessRedundancyStriped(BlockCollection, Collection, BlockInfo, DatanodeDescriptor) |  | 0% |  | 0% | 19 | 19 | 58 | 58 | 1 | 1 |
| processMisReplicatesAsync() |  | 0% |  | 0% | 15 | 15 | 58 | 58 | 1 | 1 |
| processAndHandleReportedBlock(DatanodeStorageInfo, Block, HdfsServerConstants.ReplicaState, DatanodeDescriptor) |  | 0% |  | 0% | 11 | 11 | 35 | 35 | 1 | 1 |
| getBlocksWithLocations(DatanodeID, long, long, long, StorageType) |  | 0% |  | 0% | 19 | 19 | 41 | 41 | 1 | 1 |
| dumpBlockMeta(Block, PrintWriter) |  | 0% |  | 0% | 15 | 15 | 39 | 39 | 1 | 1 |
| processFirstBlockReport(DatanodeStorageInfo, BlockListAsLongs) |  | 0% |  | 0% | 16 | 16 | 36 | 36 | 1 | 1 |
| processTimedOutExcessBlocks() |  | 0% |  | 0% | 13 | 13 | 44 | 44 | 1 | 1 |
| createBlockTokenSecretManager(Configuration) |  | 0% |  | 0% | 6 | 6 | 30 | 30 | 1 | 1 |
| processReportedBlock(DatanodeStorageInfo, Block, HdfsServerConstants.ReplicaState, Collection, Collection, Collection, Collection) |  | 0% |  | 0% | 12 | 12 | 30 | 30 | 1 | 1 |
| markBlockAsCorrupt(BlockToMarkCorrupt, DatanodeStorageInfo, DatanodeDescriptor) |  | 0% |  | 0% | 15 | 15 | 33 | 33 | 1 | 1 |
| chooseTarget4NewBlock(String, int, Node, Set, long, List, byte, BlockType, ErasureCodingPolicy, EnumSet) |  | 0% |  | 0% | 7 | 7 | 22 | 22 | 1 | 1 |
| processReport(DatanodeStorageInfo, BlockListAsLongs) |  | 0% |  | 0% | 8 | 8 | 28 | 28 | 1 | 1 |
| convertLastBlockToUnderConstruction(BlockCollection, long) |  | 0% |  | 0% | 9 | 9 | 28 | 28 | 1 | 1 |
| processIncrementalBlockReport(DatanodeDescriptor, StorageReceivedDeletedBlocks) |  | 0% |  | 0% | 8 | 8 | 28 | 28 | 1 | 1 |
| validateReconstructionWork(BlockReconstructionWork) |  | 0% |  | 0% | 10 | 10 | 36 | 36 | 1 | 1 |
| reportDiff(DatanodeStorageInfo, BlockListAsLongs, Collection, Collection, Collection, Collection, Collection) |  | 0% |  | 0% | 8 | 8 | 26 | 26 | 1 | 1 |
| createLocatedBlocks(BlockInfo[], long, boolean, long, long, boolean, boolean, FileEncryptionInfo, ErasureCodingPolicy) |  | 0% |  | 0% | 10 | 10 | 33 | 33 | 1 | 1 |
| invalidateCorruptReplicas(BlockInfo, Block, NumberReplicas) |  | 0% |  | 0% | 10 | 10 | 25 | 25 | 1 | 1 |
| markBlockReplicasAsCorrupt(Block, BlockInfo, long, long, DatanodeStorageInfo[]) |  | 0% |  | 0% | 12 | 12 | 22 | 22 | 1 | 1 |
| rescanPostponedMisreplicatedBlocks() |  | 0% |  | 0% | 7 | 7 | 24 | 24 | 1 | 1 |
| addBlock(BlockInfo, List) |  | 0% |  | 0% | 5 | 5 | 23 | 23 | 1 | 1 |
| getBlockPlacementStatus(BlockInfo, DatanodeStorageInfo[]) |  | 0% |  | 0% | 11 | 11 | 22 | 22 | 1 | 1 |
| removeStoredBlock(BlockInfo, DatanodeDescriptor) |  | 0% |  | 0% | 9 | 9 | 21 | 21 | 1 | 1 |
| processExtraRedundancyBlockWithoutPostpone(BlockInfo, short, DatanodeDescriptor, DatanodeDescriptor) |  | 0% |  | 0% | 12 | 12 | 26 | 26 | 1 | 1 |
| adjustSrcNodesAndIndices(BlockInfoStriped, DatanodeDescriptor[], List, DatanodeDescriptor[], byte[]) |  | 0% |  | 0% | 4 | 4 | 13 | 13 | 1 | 1 |
| checkReplicaOnStorage(NumberReplicas, BlockInfo, DatanodeStorageInfo, Collection, boolean) |  | 0% |  | 0% | 14 | 14 | 28 | 28 | 1 | 1 |
| processExtraRedundancyBlocksOnInService(DatanodeDescriptor) |  | 0% |  | 0% | 8 | 8 | 27 | 27 | 1 | 1 |
| createLocatedBlockList(LocatedBlockBuilder, BlockInfo[], long, long, BlockTokenIdentifier.AccessMode) |  | 0% |  | 0% | 11 | 11 | 18 | 18 | 1 | 1 |
| commitOrCompleteLastBlock(BlockCollection, Block, INodesInPath) |  | 0% |  | 0% | 10 | 10 | 25 | 25 | 1 | 1 |
| invalidateWorkForOneNode(DatanodeInfo) |  | 0% |  | 0% | 5 | 5 | 21 | 21 | 1 | 1 |
| findAndMarkBlockAsCorrupt(ExtendedBlock, DatanodeInfo, String, String) |  | 0% |  | 0% | 8 | 8 | 21 | 21 | 1 | 1 |
| setBlockToken(LocatedBlock, BlockTokenIdentifier.AccessMode) |  | 0% |  | 0% | 4 | 4 | 19 | 19 | 1 | 1 |
| addExpectedReplicasToPending(BlockInfo) |  | 0% |  | 0% | 8 | 8 | 17 | 17 | 1 | 1 |
| updateNeededReconstructions(BlockInfo, int, int) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| invalidateBlock(BlockToMarkCorrupt, DatanodeInfo, NumberReplicas) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| addToInvalidates(BlockInfo) |  | 0% |  | 0% | 9 | 9 | 17 | 17 | 1 | 1 |
| removeBlocksAndUpdateSafemodeTotal(INode.BlocksMapUpdateInfo) |  | 0% |  | 0% | 9 | 9 | 17 | 17 | 1 | 1 |
| removeBRLeaseIfNeeded(DatanodeID, BlockReportContext) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| addStoredBlockImmediate(BlockInfo, Block, DatanodeStorageInfo) |  | 0% |  | 0% | 10 | 10 | 13 | 13 | 1 | 1 |
| processMisReplicatedBlocks(List) |  | 0% |  | 0% | 7 | 7 | 20 | 20 | 1 | 1 |
| checkRedundancy(BlockCollection) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| processPendingReconstructions() |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| processMisReplicatedBlock(BlockInfo) |  | 0% |  | 0% | 7 | 7 | 17 | 17 | 1 | 1 |
| completeBlock(BlockInfo, INodesInPath, boolean) |  | 0% |  | 0% | 7 | 7 | 13 | 13 | 1 | 1 |
| processQueuedMessages(Iterable) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| addBlock(DatanodeStorageInfo, Block, String) |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 1 | 1 |
| computeDatanodeWork() |  | 0% |  | 0% | 2 | 2 | 12 | 12 | 1 | 1 |
| chooseExcessRedundancies(Collection, BlockInfo, short, DatanodeDescriptor, DatanodeDescriptor) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| removeBlocksAssociatedTo(DatanodeStorageInfo) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| commitBlock(BlockInfo, Block) |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 1 | 1 |
| countLiveAndDecommissioningReplicas(NumberReplicas, NumberReplicas.StoredReplicaState, BitSet, BitSet, byte) |  | 0% |  | 0% | 7 | 7 | 12 | 12 | 1 | 1 |
| removeBlock(BlockInfo) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| createLocatedBlock(LocatedBlockBuilder, BlockInfo[], long, BlockTokenIdentifier.AccessMode) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| requestBlockReportLeaseId(DatanodeRegistration) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| processIncrementalBlockReport(DatanodeID, StorageReceivedDeletedBlocks) |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 1 | 1 |
| countNodes(BlockInfo, boolean) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| printInitialConfigs() |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| computeBlockReconstructionWork(int) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
| close() |  | 0% |  | 0% | 2 | 2 | 15 | 15 | 1 | 1 |
| getValidLocations(BlockInfo) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| countReplicasForStripedBlock(NumberReplicas, BlockInfoStriped, Collection, boolean) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| queueReportedBlock(DatanodeStorageInfo, Block, HdfsServerConstants.ReplicaState, String) |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 1 | 1 |
| getStoredBlock(Block) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| computeInvalidateWork(int) |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 1 | 1 |
| isNodeHealthyForDecommissionOrMaintenance(DatanodeDescriptor) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| runBlockOp(Callable) |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| createSPSManager(Configuration, String) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| processAllPendingDNMessages() |  | 0% |  | 0% | 6 | 6 | 8 | 8 | 1 | 1 |
| verifyReplication(String, short, String) |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| addStoredBlockUnderConstruction(BlockManager.StatefulBlockInfo, DatanodeStorageInfo) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| activate(Configuration, long) |  | 0% | | n/a | 1 | 1 | 11 | 11 | 1 | 1 |
| getDatanodeDescriptors(List) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| setReplication(short, short, BlockInfo) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| updateHeartbeat(DatanodeDescriptor, StorageReport[], long, long, int, int, VolumeFailureSummary) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| updateHeartbeatState(DatanodeDescriptor, StorageReport[], long, long, int, int, VolumeFailureSummary) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| removeDNLeaseIfNeeded(DatanodeDescriptor) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| chooseExcessRedundancyContiguous(Collection, BlockInfo, short, DatanodeDescriptor, DatanodeDescriptor, List) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| initReplQueueResetToHeadThreshold(Configuration) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| processMisReplicatedBlocks() |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| removeBlockFromMap(BlockInfo) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| initMaxReplication(Configuration) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| isHotBlock(BlockInfo, long) |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 1 | 1 |
| removeBlocksAssociatedTo(DatanodeDescriptor) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| initMinReplicationToBeInMaintenance(Configuration) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| checkBlockReportLease(BlockReportContext, DatanodeID) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| processChosenExcessRedundancy(Collection, DatanodeStorageInfo, BlockInfo) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| removeStaleReplicas(List, BlockInfo) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| getStorages(BlockInfo) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| hasEnoughEffectiveReplicas(BlockInfo, NumberReplicas, int) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| isBlockUnderConstruction(BlockInfo, HdfsServerConstants.BlockUCState, HdfsServerConstants.ReplicaState) |  | 0% |  | 0% | 5 | 5 | 6 | 6 | 1 | 1 |
| chooseTarget4AdditionalDatanode(String, int, Node, List, Set, long, byte, BlockType) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| setBlockIndices(BlockInfo, byte[], int, DatanodeStorageInfo) |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| getDefaultStorageNum(BlockInfo) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| getMinStorageNum(BlockInfo) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| isSufficientlyReplicated(BlockInfo) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| removeStoredBlock(DatanodeStorageInfo, Block, DatanodeDescriptor) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| newLocatedBlock(ExtendedBlock, BlockInfo, DatanodeStorageInfo[], long) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| addKeyUpdateCommand(List, DatanodeDescriptor) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| updateState() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| clearQueues() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| refreshBlockPlacementPolicy(Configuration) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| stopReconstructionInitializer() |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| addBlockCollectionWithCheck(BlockInfo, BlockCollection) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| chooseTarget4WebHDFS(String, DatanodeDescriptor, Set, long) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| isNeededReconstructionForMaintenance(BlockInfo, NumberReplicas) |  | 0% |  | 0% | 4 | 4 | 3 | 3 | 1 | 1 |
| adjustReplication(short) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| setMinBlocksForWrite(int) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| initMinReplication(Configuration) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| newLocatedStripedBlock(ExtendedBlock, DatanodeStorageInfo[], byte[], long, boolean) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| shouldPopulateReplQueues() |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| getMinMaintenanceStorageNum(BlockInfo) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| forceCompleteBlock(BlockInfo) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| createLocatedBlock(LocatedBlockBuilder, BlockInfo, long, BlockTokenIdentifier.AccessMode) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| setExcessRedundancyTimeout(long) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| updateLastBlock(BlockInfo, ExtendedBlock) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getExpectedLiveRedundancyNum(BlockInfo, NumberReplicas) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| newLocatedBlock(ExtendedBlock, DatanodeStorageInfo[], long, boolean) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| setExcessRedundancyTimeoutCheckLimit(long) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| shouldProcessExtraRedundancy(NumberReplicas, int) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| isNeededReconstruction(BlockInfo, NumberReplicas, int) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| addBlockCollection(BlockInfo, BlockCollection) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| setExcludeSlowNodesEnabled(boolean) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| shouldUpdateBlockKey(long) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| hasMinStorage(BlockInfo) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| generateDataEncryptionKey() |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| setBlockTotal(long) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| removeQueuedBlock(DatanodeStorageInfo, Block) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| processQueuedMessagesForBlock(Block) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| shutdown() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| enqueueBlockOp(Runnable) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| setBlockPoolId(String) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| setReconstructionPendingTimeout(int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| addToInvalidates(Block, DatanodeInfo) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getDatanodeDescriptorFromStorage(DatanodeStorageInfo) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| processExtraRedundancyBlock(BlockInfo, short, DatanodeDescriptor, DatanodeDescriptor) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$getBlocksWithLocations$1(StorageType, DatanodeStorageInfo) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| ensurePositiveInt(int, String) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| getBlockOnStorage(BlockInfo, DatanodeStorageInfo) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| countLiveNodes(BlockInfo) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getExpectedRedundancyNum(BlockInfo) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| addBLocksToMarkedDeleteQueue(List) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getPendingSPSPaths() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| setMaxReplicationStreams(int, boolean) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| hasMinStorage(BlockInfo, int) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| convertToCompleteBlock(BlockInfo, INodesInPath) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getBlockKeys() |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| clear() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| initializeReplQueues() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| registerDatanode(DatanodeRegistration) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| isPopulatingReplQueues() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| flushBlockOps() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isBlockTokenEnabled() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| setReplicationStreamsHardLimit(int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| setBlocksReplWorkMultiplier(int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getReconstructionPendingTimeout() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getBlocksWithLocations$0(DatanodeStorageInfo) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| postponeBlock(Block) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isExcess(DatanodeDescriptor, BlockInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| containsInvalidateBlock(DatanodeInfo, Block) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isPlacementPolicySatisfied(BlockInfo) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isNeededReconstruction(BlockInfo, NumberReplicas) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockCollection(BlockInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCorruptReason(Block, DatanodeDescriptor) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isReplicaCorrupt(BlockInfo, DatanodeDescriptor) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockRecoveryTimeout(long) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getExcludeSlowNodesEnabled(BlockType) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMinBlocksForWrite(BlockType) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPostponedMisreplicatedBlocksCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStoragePolicy(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStoragePolicy(byte) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockPlacementPolicy() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStriptedBlockPlacementPolicy() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setMaxReplicationStreams(int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| leaveSafeMode(boolean) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| countNodes(BlockInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getExcessSize4Testing(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStorages(Block) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockPlacementStatus(BlockInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMissingBlocksCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| numCorruptReplicas(Block) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCorruptReplicaBlockIterator() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCorruptReplicas(Block) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStorageTypeStats() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| successfulBlockRecovery(BlockInfo) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addBlockRecoveryAttempt(BlockInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockOpQueueLength() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| nextGenerationStamp(boolean) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isLegacyBlock(Block) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| nextBlockId(BlockType) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isGenStampInFuture(Block) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setBlockRecoveryTimeout(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| createSPSManager(Configuration) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPendingDeletionBlocksCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getExcessBlocksCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPendingDataNodeMessageCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getNumTimedOutPendingReconstructions() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLowRedundancyBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCorruptBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMissingBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMissingReplicationOneBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBadlyDistributedBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPendingDeletionReplicatedBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTotalReplicatedBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLowRedundancyECBlockGroups() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCorruptECBlockGroups() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMissingECBlockGroups() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPendingDeletionECBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTotalECBlockGroups() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStoragePolicies() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| enableRMTerminationForTesting() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setPostponeBlocksFromFuture(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getUnderReplicatedNotMissingBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isInSafeMode() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getSafeModeTip() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| checkSafeMode() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getBytesInFuture() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBytesInFutureReplicatedBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBytesInFutureECBlockGroups() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getProvidedCapacity() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getActiveBlockCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTotalBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMissingReplOneBlocksCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBadlyDistributedBlocksCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getHighestPriorityReplicatedBlockCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getHighestPriorityECBlockCount() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCapacity() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| numOfUnderReplicatedBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLastRedundancyMonitorTS() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setInitializedReplQueues(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| disableSPS() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getPendingReconstructionBlocksCount() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLowRedundancyBlocksCount() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCorruptReplicaBlocksCount() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getScheduledReplicationBlocksCount() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStartupDelayBlockDeletionInMs() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockPoolId() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStoragePolicySuite() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockTokenSecretManager() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDatanodeManager() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMaxReplicationStreams() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getReplicationStreamsHardLimit() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlocksReplWorkMultiplier() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMinReplication() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMinReplicationToBeInMaintenance() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getReconstructionQueuesInitProgress() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| hasNonEcBlockUsingStripedID() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockReportLeaseManager() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getShouldPostponeBlocksFromFuture() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getRedundancyThread() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockIdManager() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getMarkedDeleteQueue() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getProvidedStorageMap() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getSPSManager() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$processTimedOutExcessBlocks$4(Block) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$processTimedOutExcessBlocks$3(Block) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getBlocksWithLocations$2(int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |