[ https://issues.apache.org/jira/browse/HADOOP-1187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486522 ]
Hadoop QA commented on HADOOP-1187: ----------------------------------- +1, because http://issues.apache.org/jira/secure/attachment/12354888/clientPendingCreate2.patch applied and successfully tested against trunk revision http://svn.apache.org/repos/asf/lucene/hadoop/trunk/525290. Results are at http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch > DFS Scalability: avoid scanning entire list of datanodes in > getAdditionalBlocks > ------------------------------------------------------------------------------- > > Key: HADOOP-1187 > URL: https://issues.apache.org/jira/browse/HADOOP-1187 > Project: Hadoop > Issue Type: Bug > Components: dfs > Reporter: dhruba borthakur > Assigned To: dhruba borthakur > Attachments: clientPendingCreate2.patch > > > A new block allocations for a file scans the list of all known datanodes to > find if the client that is a also a cluster node. If so, then it tries to > allocate a replica locally. This check consumes plenty of CPU, especially if > the number of datanodes in a cluster is large. > An optimization: if the client is also a cluster node, then cache a reference > to the corresponding DatanodeDescriptor from the entry in pendingCreate. The > method getAdditionalBlock() uses the cached DatanodeDescriptor and thus > avoids scanning the entire list of datanodes. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.