[ 
https://issues.apache.org/jira/browse/HADOOP-1187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486149
 ] 

Hairong Kuang commented on HADOOP-1187:
---------------------------------------

+1 The code looks good.

> 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: clientPendingCreate.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.

Reply via email to