JiangHua Zhu created HDFS-16439: ----------------------------------- Summary: Makes calculating maxNodesPerRack simpler Key: HDFS-16439 URL: https://issues.apache.org/jira/browse/HDFS-16439 Project: Hadoop HDFS Issue Type: Improvement Components: namenode Affects Versions: 3.4.0 Reporter: JiangHua Zhu
When creating a new file, it is usually necessary to communicate with the namenode first to obtain the location of some DataNodes as the target location of Blockd. At this time, when BlockPlacementPolicyDefault#getMaxNodesPerRack() is executed, if the number of replicas is very large, once it exceeds the number of all nodes in the cluster. The following piece of code will be executed: int clusterSize = clusterMap.getNumOfLeaves(); int totalNumOfReplicas = numOfChosen + numOfReplicas; if (totalNumOfReplicas > clusterSize) { numOfReplicas -= (totalNumOfReplicas-clusterSize); totalNumOfReplicas = clusterSize; } Here, the calculation for numOfReplicas gets a little more complicated. It can be simplified like: numOfReplicas = clusterSize - numOfChosen It would be more helpful to understand it this way, while also freeing up a little cpu (though not a lot). -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org