Ajith S created HDFS-8574: ----------------------------- Summary: When block count exceeds dfs.blockreport.split.threshold, the block report are sent in one per message Key: HDFS-8574 URL: https://issues.apache.org/jira/browse/HDFS-8574 Project: Hadoop HDFS Issue Type: Bug Affects Versions: 2.7.0 Reporter: Ajith S Assignee: Ajith S
This piece of code in {{org.apache.hadoop.hdfs.server.datanode.BPServiceActor.blockReport()}} {code} // Send one block report per message. for (int r = 0; r < reports.length; r++) { StorageBlockReport singleReport[] = { reports[r] }; DatanodeCommand cmd = bpNamenode.blockReport( bpRegistration, bpos.getBlockPoolId(), singleReport, new BlockReportContext(reports.length, r, reportId)); numReportsSent++; numRPCs++; if (cmd != null) { cmds.add(cmd); } {code} is creating many cmds in case the block count exceeds the {{dfs.blockreport.split.threshold}} limit. A better way for this will be spliting the block reports in equal number of buckets of size {{dfs.blockreport.split.threshold}} therefore reducing the number of RPCs in block reporting -- This message was sent by Atlassian JIRA (v6.3.4#6332)