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

Chris Douglas updated HADOOP-4339:
----------------------------------

    Issue Type: Improvement  (was: Bug)

> Improve FsShell -du/-dus and FileSystem.getContentSummary efficiency
> --------------------------------------------------------------------
>
>                 Key: HADOOP-4339
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4339
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: fs
>    Affects Versions: 0.18.1
>            Reporter: David Phillips
>            Assignee: David Phillips
>             Fix For: 0.20.0
>
>         Attachments: hadoop-fsshell-du-simple.patch, 
> hadoop-fsshell-du-simple.patch
>
>
> FsShell.du has two inefficiencies:
> * calling getContentSummary twice for each top-level item rather than calling 
> it once and saving the result
> * calling getContentSummary for files rather than using the size it already 
> has in FileStatus
> getContentSummary has one:
> * calling itself for files rather than using the length it already has in 
> FileStatus
> Every call to getContentSummary results in a call to getFileStatus, which may 
> be expensive (e.g. NativeS3FileSystem has both network latency and actual 
> monetary cost).
> The simple solution:
> * FsShell.du calls once per item and saves the ContentSummary
> * FsShell.du uses FileStatus.getLen for files
> * getContentSummary only calls itself for directories
> Another solution, rather than adding special casing to callers, is to add a 
> getContentSummary that takes a FileStatus.

-- 
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