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

dhruba borthakur updated HADOOP-1187:
-------------------------------------

    Attachment:     (was: clientPendingCreate.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.

Reply via email to