Vinayakumar B created HDFS-8096:
-----------------------------------
Summary: DatanodeMetrics#blocksReplicated will get incremented
early and even for failed transfers
Key: HDFS-8096
URL: https://issues.apache.org/jira/browse/HDFS-8096
Project: Hadoop HDFS
Issue Type: Bug
Components: datanode
Reporter: Vinayakumar B
Assignee: Vinayakumar B
{code} case DatanodeProtocol.DNA_TRANSFER:
// Send a copy of a block to another datanode
dn.transferBlocks(bcmd.getBlockPoolId(), bcmd.getBlocks(),
bcmd.getTargets(), bcmd.getTargetStorageTypes());
dn.metrics.incrBlocksReplicated(bcmd.getBlocks().length);{code}
In the above code to handle replication transfers from namenode,
{{DatanodeMetrics#blocksReplicated}} is getting incremented early, since the
transfer will happen in background.
And even failed transfers also getting counted.
Correct place to increment this counter is {{DataTransfer#run()}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)