| createBlockOutputStream(DatanodeInfo[], StorageType[], String[], long, boolean) |  | 0% |  | 0% | 24 | 24 | 77 | 77 | 1 | 1 |
| work() |  | 0% |  | 0% | 33 | 33 | 99 | 99 | 1 | 1 |
| DataStreamer(HdfsFileStatus, ExtendedBlock, DFSClient, String, Progressable, DataChecksum, AtomicReference, ByteArrayManager, boolean, String[], EnumSet) |  | 0% |  | 0% | 7 | 7 | 58 | 58 | 1 | 1 |
| addDatanode2ExistingPipeline() |  | 0% |  | 0% | 8 | 8 | 39 | 39 | 1 | 1 |
| waitForAckedSeqno(long) |  | 0% |  | 0% | 6 | 6 | 33 | 33 | 1 | 1 |
| processDatanodeOrExternalError() |  | 0% |  | 0% | 14 | 14 | 35 | 35 | 1 | 1 |
| setupPipelineForCreate() |  | 0% |  | 0% | 9 | 9 | 37 | 37 | 1 | 1 |
| handleBadDatanode() |  | 0% |  | 0% | 4 | 4 | 24 | 24 | 1 | 1 |
| setupPipelineInternal(DatanodeInfo[], StorageType[], String[]) |  | 0% |  | 0% | 14 | 14 | 24 | 24 | 1 | 1 |
| backOffIfNecessary() |  | 0% |  | 0% | 4 | 4 | 19 | 19 | 1 | 1 |
| findNewDatanode(DatanodeInfo[]) |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 1 | 1 |
| waitAndQueuePacket(DFSPacket) |  | 0% |  | 0% | 7 | 7 | 24 | 24 | 1 | 1 |
| getPinnings(DatanodeInfo[]) |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 1 | 1 |
| createSocketForPipeline(DatanodeInfo, int, DFSClient) |  | 0% |  | 0% | 2 | 2 | 15 | 15 | 1 | 1 |
| closeStream() |  | 0% |  | 0% | 5 | 5 | 20 | 20 | 1 | 1 |
| initDataStreaming() |  | 0% |  | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
| handleRestartingDatanode() |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| transfer(DatanodeInfo, DatanodeInfo[], StorageType[], String[], Token) |  | 0% |  | 0% | 2 | 2 | 12 | 12 | 1 | 1 |
| shouldWaitForRestart(int) |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 1 | 1 |
| setupPipelineForAppendOrRecovery() |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| queuePacket(DFSPacket) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| handleDatanodeReplacement() |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| waitForAllAcks() |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| DataStreamer(LocatedBlock, HdfsFileStatus, DFSClient, String, Progressable, DataChecksum, AtomicReference, ByteArrayManager) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| sendHeartbeat() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| endBlock() |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| updatePipeline(long) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| closeInternal() |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| closeResponder() |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| computeTransferReadTimeout() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| setPipelineInConstruction(LocatedBlock) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| release() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| close(boolean) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| setPipeline(DatanodeInfo[], StorageType[], String[]) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| sendPacket(DFSPacket) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| arraycopy(Object[], Object[], int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| releaseBuffer(List, ByteArrayManager) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| DataStreamer(HdfsFileStatus, ExtendedBlock, DFSClient, String, Progressable, DataChecksum, AtomicReference, ByteArrayManager, String[], EnumSet) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| shouldStop() |  | 0% |  | 0% | 4 | 4 | 1 | 1 | 1 | 1 |
| failPacket4Testing() |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| locateFollowingBlock(DatanodeInfo[], ExtendedBlock) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| createHeartbeatPacket() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| initExcludedNodes(long) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| toString() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getExcludedNodes() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| shouldHandleExternalError() |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| updateBlockForPipeline() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getAndIncCurrentSeqno() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| setPipeline(LocatedBlock) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isLazyPersist(HdfsFileStatus) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| checkClosed() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| incBytesCurBlock(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| closeSocket() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| computeTransferWriteTimeout() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateBlockGS(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setAccessToken(Token) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setStreamerAsClosed() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setHflush() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getBlock() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setAppendChunk(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setSocketToNull() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setBytesCurBlock(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setArtificialSlowdown(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getNodes() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStorageIDs() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getStage() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBlockToken() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getErrorState() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPersistBlocks() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getAppendChunk() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLastException() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLastQueuedSeqno() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getBytesCurBlock() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| streamerClosed() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPipelineRecoveryCount() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |