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)