| testSafeModeIBRBeforeFirstFullBR() |  | 0% |  | 0% | 5 | 5 | 48 | 48 | 1 | 1 |
| testPlacementPolicySatisfied() |  | 0% |  | 0% | 2 | 2 | 46 | 46 | 1 | 1 |
| testBlockManagerMachinesArray() |  | 0% |  | 0% | 9 | 9 | 65 | 65 | 1 | 1 |
| testProcessTimedOutExcessBlocks() |  | 0% | | n/a | 1 | 1 | 59 | 59 | 1 | 1 |
| setupMockCluster() |  | 0% | | n/a | 1 | 1 | 27 | 27 | 1 | 1 |
| testChooseSrcDatanodesWithDupEC() |  | 0% |  | 0% | 2 | 2 | 31 | 31 | 1 | 1 |
| testSkipReconstructionWithManyBusyNodes3() |  | 0% |  | 0% | 2 | 2 | 27 | 27 | 1 | 1 |
| testBlockReportSetNoAckBlockToInvalidate() |  | 0% | | n/a | 1 | 1 | 41 | 41 | 1 | 1 |
| testChooseSrcDNWithDupECInDecommissioningNode() |  | 0% | | n/a | 1 | 1 | 28 | 28 | 1 | 1 |
| testSafeModeWithProvidedStorageBR() |  | 0% | | n/a | 1 | 1 | 30 | 30 | 1 | 1 |
| testSafeModeIBR() |  | 0% | | n/a | 1 | 1 | 24 | 24 | 1 | 1 |
| testHighestPriReplSrcChosenDespiteMaxReplLimit() |  | 0% | | n/a | 1 | 1 | 19 | 19 | 1 | 1 |
| testBlockReportAfterDataNodeRestart() |  | 0% |  | 0% | 3 | 3 | 29 | 29 | 1 | 1 |
| testAsyncIBR() |  | 0% |  | 0% | 6 | 6 | 35 | 35 | 1 | 1 |
| doTestOneOfTwoRacksDecommissioned(int) |  | 0% |  | 0% | 3 | 3 | 26 | 26 | 1 | 1 |
| testSkipReconstructionWithManyBusyNodes2() |  | 0% |  | 0% | 3 | 3 | 25 | 25 | 1 | 1 |
| testSkipReconstructionWithManyBusyNodes() |  | 0% |  | 0% | 2 | 2 | 23 | 23 | 1 | 1 |
| testNeededReconstructionWhileAppending() |  | 0% |  | 0% | 2 | 2 | 38 | 38 | 1 | 1 |
| testFavorDecomUntilHardLimit() |  | 0% | | n/a | 1 | 1 | 17 | 17 | 1 | 1 |
| doTestAllNodesHoldingReplicasDecommissioned(int) |  | 0% |  | 0% | 4 | 4 | 22 | 22 | 1 | 1 |
| testBlockReportQueueing() |  | 0% |  | 0% | 2 | 2 | 29 | 29 | 1 | 1 |
| testLegacyBlockInInvalidateBlocks() |  | 0% | | n/a | 1 | 1 | 25 | 25 | 1 | 1 |
| testMetaSaveInMaintenanceReplicas() |  | 0% |  | 0% | 2 | 2 | 23 | 23 | 1 | 1 |
| testMetaSaveCorruptBlocks() |  | 0% |  | 0% | 4 | 4 | 26 | 26 | 1 | 1 |
| testUCBlockNotConsideredMissing() |  | 0% | | n/a | 1 | 1 | 19 | 19 | 1 | 1 |
| testMetaSaveMissingReplicas() |  | 0% |  | 0% | 2 | 2 | 22 | 22 | 1 | 1 |
| testMetaSaveDecommissioningReplicas() |  | 0% |  | 0% | 2 | 2 | 22 | 22 | 1 | 1 |
| testStorageWithRemainingCapacity() |  | 0% |  | 0% | 4 | 4 | 25 | 25 | 1 | 1 |
| doTestTwoOfThreeNodesDecommissioned(int) |  | 0% |  | 0% | 3 | 3 | 17 | 17 | 1 | 1 |
| testIsReplicaCorruptCall() |  | 0% | | n/a | 1 | 1 | 14 | 14 | 1 | 1 |
| scheduleSingleReplication(BlockInfo) |  | 0% |  | 0% | 2 | 2 | 19 | 19 | 1 | 1 |
| testSafeModeIBRAfterIncremental() |  | 0% | | n/a | 1 | 1 | 14 | 14 | 1 | 1 |
| testDeleteCorruptReplicaWithStatleStorages() |  | 0% |  | 0% | 4 | 4 | 24 | 24 | 1 | 1 |
| makeBlockReplicasMissing(long, List) |  | 0% | | n/a | 1 | 1 | 14 | 14 | 1 | 1 |
| testMetaSavePostponedMisreplicatedBlocks() |  | 0% |  | 0% | 2 | 2 | 16 | 16 | 1 | 1 |
| makeBlockReplicasMaintenance(long, List) |  | 0% | | n/a | 1 | 1 | 12 | 12 | 1 | 1 |
| makeBlockReplicasDecommission(long, List) |  | 0% | | n/a | 1 | 1 | 12 | 12 | 1 | 1 |
| addCorruptBlockOnNodes(long, List) |  | 0% | | n/a | 1 | 1 | 11 | 11 | 1 | 1 |
| verifyPlacementPolicy(MiniDFSCluster, Path, boolean) |  | 0% |  | 0% | 3 | 3 | 16 | 16 | 1 | 1 |
| doBasicTest(int) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| testUseDelHint() |  | 0% | | n/a | 1 | 1 | 12 | 12 | 1 | 1 |
| testValidateReconstructionWorkAndRacksNotEnough() |  | 0% | | n/a | 1 | 1 | 13 | 13 | 1 | 1 |
| addUcBlockToBM(long) |  | 0% | | n/a | 1 | 1 | 9 | 9 | 1 | 1 |
| testBlocksAreNotUnderreplicatedInSingleRack() |  | 0% |  | 0% | 2 | 2 | 12 | 12 | 1 | 1 |
| blockOnNodes(long, List) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| getAllPendingReconstruction() |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| addNodes(Iterable) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| doTestSufficientlyReplBlocksUsesNewRack(int) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| addEcBlockToBM(long, ErasureCodingPolicy) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| addBlockToBM(long) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| addBlockOnNodes(long, List) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| getNodes(int[]) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getStorages(int[]) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| doTestSingleRackClusterHasSufficientRedundancy(int, List) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| fulfillPipeline(BlockInfo, DatanodeStorageInfo[]) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| testOneOfTwoRacksDecommissioned() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getNodes(List) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| startDecommission(int[]) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| testBasicReplication() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| testTwoOfThreeNodesDecommissioned() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| testAllNodesHoldingReplicasDecommissioned() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| testSufficientlyReplBlocksUsesNewRack() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| removeNode(DatanodeDescriptor) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| lambda$testProcessTimedOutExcessBlocks$5(MiniDFSCluster, DataNode) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| lambda$testBlockReportSetNoAckBlockToInvalidate$2(DataNode) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| lambda$testBlockReportSetNoAckBlockToInvalidate$0(DatanodeDescriptor) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| lambda$testBlockReportSetNoAckBlockToInvalidate$1(BlockManager, DatanodeInfo[], LocatedBlock) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$testProcessTimedOutExcessBlocks$3(BlockManager, DatanodeInfo) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| lambda$testProcessTimedOutExcessBlocks$4(MiniDFSCluster, DatanodeInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| TestBlockManager() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |