| tryReadZeroCopy(int, EnumSet) |  | 0% |  | 0% | 7 | 7 | 41 | 41 | 1 | 1 |
| actualGetFromOneDataNode(DFSInputStream.DNAddrPair, long, long, ByteBuffer, DFSUtilClient.CorruptedBlocks, Map) |  | 0% |  | 0% | 9 | 9 | 57 | 57 | 1 | 1 |
| hedgedFetchBlockByteRange(LocatedBlock, long, long, ByteBuffer, DFSUtilClient.CorruptedBlocks, Map) |  | 0% |  | 0% | 8 | 8 | 63 | 63 | 1 | 1 |
| readWithStrategy(ReaderStrategy) |  | 0% |  | 0% | 11 | 11 | 45 | 45 | 1 | 1 |
| readBlockLength(LocatedBlock) |  | 0% |  | 0% | 16 | 16 | 47 | 47 | 1 | 1 |
| blockSeekTo(long) |  | 0% |  | 0% | 7 | 7 | 40 | 40 | 1 | 1 |
| pread(long, ByteBuffer) |  | 0% |  | 0% | 10 | 10 | 33 | 33 | 1 | 1 |
| seek(long) |  | 0% |  | 0% | 9 | 9 | 25 | 25 | 1 | 1 |
| refetchLocations(LocatedBlock, Collection) |  | 0% |  | 0% | 4 | 4 | 26 | 26 | 1 | 1 |
| readBuffer(ReaderStrategy, int, DFSUtilClient.CorruptedBlocks, Map) |  | 0% |  | 0% | 4 | 4 | 29 | 29 | 1 | 1 |
| getBestNodeDNAddrPair(LocatedBlock, Collection) |  | 0% |  | 0% | 12 | 12 | 26 | 26 | 1 | 1 |
| fetchBlockAt(long, long, boolean) |  | 0% |  | 0% | 11 | 11 | 21 | 21 | 1 | 1 |
| reportCheckSumFailure(DFSUtilClient.CorruptedBlocks, int, boolean) |  | 0% |  | 0% | 10 | 10 | 22 | 22 | 1 | 1 |
| DFSInputStream(DFSClient, String, boolean, LocatedBlocks) |  | 0% | | n/a | 1 | 1 | 26 | 26 | 1 | 1 |
| getBestNodeDNAddrPairErrorString(DatanodeInfo[], AbstractMap, Collection) |  | 0% |  | 0% | 5 | 5 | 17 | 17 | 1 | 1 |
| getBlockReader(LocatedBlock, long, long, InetSocketAddress, StorageType, DatanodeInfo) |  | 0% |  | 0% | 2 | 2 | 24 | 24 | 1 | 1 |
| read(ByteBufferPool, int, EnumSet) |  | 0% |  | 0% | 11 | 11 | 18 | 18 | 1 | 1 |
| getFinalizedBlockRange(long, long) |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| logDataNodeExceptionsOnReadError(long, Map) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
| getBlockRange(long, long) |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| refreshBlockLocations(Map) |  | 0% |  | 0% | 4 | 4 | 17 | 17 | 1 | 1 |
| openInfo(boolean) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| fetchAndCheckLocatedBlocks(LocatedBlocks) |  | 0% |  | 0% | 6 | 6 | 12 | 12 | 1 | 1 |
| getBlockAt(long) |  | 0% |  | 0% | 6 | 6 | 8 | 8 | 1 | 1 |
| close() |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| allBlocksLocal(LocatedBlocks, Map) |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| seekToNewSource(long) |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 1 | 1 |
| maybeRegisterBlockRefresh() |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 1 | 1 |
| getCurrentBlockLocationsLength() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| getLastBlockLength(LocatedBlocks) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| skip(long) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| getFirstToComplete(CompletionService, ArrayList) |  | 0% |  | 0% | 2 | 2 | 10 | 10 | 1 | 1 |
| releaseBuffer(ByteBuffer) |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| read(byte[], int, int) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| readFully(long, ByteBuffer) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| read() |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| setRefreshedValues(LocatedBlocks, long) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| available() |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| fetchBlockByteRange(LocatedBlock, long, long, ByteBuffer, DFSUtilClient.CorruptedBlocks, Map) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| setReadahead(Long) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| setDropBehind(Boolean) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| chooseDataNode(LocatedBlock, Collection, boolean) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| read(long, byte[], int, int) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| closeCurrentBlockReaders() |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| getFileLength() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| isValidNode(DatanodeInfo, Collection) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| checkInterrupted(IOException) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| cancelAll(List) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| lambda$allBlocksLocal$0(DatanodeInfoWithStorage, String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| tokenRefetchNeeded(IOException, InetSocketAddress) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| setLocatedBlocksFields(LocatedBlocks, long) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| reportLostBlock(LocatedBlock, Collection) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| addToLocalDeadNodes(DatanodeInfo) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| waitFor(int) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| read(ByteBuffer) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| hasCapability(String) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getExtendedReadBuffers() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| shortCircuitForbidden() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getFromOneDataNode(DFSInputStream.DNAddrPair, long, long, ByteBuffer, DFSUtilClient.CorruptedBlocks, Map) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isResolveableAndLocal(InetSocketAddress) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| removeFromLocalDeadNodes(DatanodeInfo) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| read(long, ByteBuffer) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getFileEncryptionInfo() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getCurrentBlock() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| maybeDeRegisterBlockRefresh() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| clearCachedNodeState(Collection) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| seekToBlockSource(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getAllBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| fetchBlockAt(long) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| chooseDataNode(LocatedBlock, Collection) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| deadNodesContain(DatanodeInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| refreshLocatedBlock(LocatedBlock) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| reset() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| clearLocalDeadNodes() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| clearReadStatistics() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setLastRefreshedBlocksAtForTesting(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setLastRefreshedBlocksAt() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getLocalDeadNodes() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDFSClient() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getlastBlockBeingWrittenLengthForTesting() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCurrentDatanode() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getSrc() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLocatedBlocks() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getHedgedReadOpsLoopNumForTesting() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPos() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getReadStatistics() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| unbuffer() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getLastRefreshedBlocksAtForTesting() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| markSupported() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| mark(int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |