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)

Reply via email to