[
https://issues.apache.org/jira/browse/HADOOP-713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12542296
]
Sameer Paranjpye commented on HADOOP-713:
-----------------------------------------
> I think it worked that way at one time in the past, and was found to put too
> much RPC load on the namenode
True, but at the time I think we were making a getLength RPC for every file
encountered. With the new listStatus API we could get the sizes of all the
files in a directory and then recursively call listStatus for the
subdirectories. This would be significantly lower RPC load than an invocation
per file.
One observation to take into account is that 'ls -r' recurses on the client
side, makes a call per directory in a tree and is a pretty frequent operation
(certainly more frequent than du). Since 'ls -r' doesn't appear to overburden
the Namenode with RPCs, it feels like that ought to be true for du as well.
> dfs list operation is too expensive
> -----------------------------------
>
> Key: HADOOP-713
> URL: https://issues.apache.org/jira/browse/HADOOP-713
> Project: Hadoop
> Issue Type: Improvement
> Components: dfs
> Affects Versions: 0.8.0
> Reporter: Hairong Kuang
> Assignee: dhruba borthakur
> Priority: Blocker
> Fix For: 0.15.1
>
> Attachments: optimizeComputeContentLen.patch
>
>
> A list request to dfs returns an array of DFSFileInfo. A DFSFileInfo of a
> directory contains a field called contentsLen, indicating its size which
> gets computed at the namenode side by resursively going through its subdirs.
> At the same time, the whole dfs directory tree is locked.
> The list operation is used a lot by DFSClient for listing a directory,
> getting a file's size and # of replicas, and getting the size of dfs. Only
> the last operation needs the field contentsLen to be computed.
> To reduce its cost, we can add a flag to the list request. ContentsLen is
> computed If the flag is set. By default, the flag is false.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.