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

Mona Chitnis updated PIG-3891:
------------------------------

    Attachment: PIG-3891-2.patch

wouldnt this block take care of path being file  and adding its length directly?
{code}
 if (status.isFile()) {
       if (status.getLen() > 0)
            bytes += status.getLen();
 }
 else { // recursively count nested leaves' (files) sizes
      bytes += getPathSize(status.getPath(), fs);
 }
{code}

I moved the unit tests to piggybank's TestMultiStorage class then and cleaned 
up the i/o. Patch rebased to trunk

> FileBasedOutputSizeReader does not calculate size of files in sub-directories
> -----------------------------------------------------------------------------
>
>                 Key: PIG-3891
>                 URL: https://issues.apache.org/jira/browse/PIG-3891
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.12.0
>            Reporter: Rohini Palaniswamy
>            Assignee: Mona Chitnis
>         Attachments: PIG-3891-1.patch, PIG-3891-2.patch
>
>
> FileBasedOutputSizeReader only includes files in the top level output 
> directory. So if files are stored under subdirectories (For eg: 
> MultiStorage), it does not have the bytes written correctly. 
> 0.11 shows the correct number of total bytes written and this is a 
> regression. A quick look at the code shows that the 
> JobStats.addOneOutputStats() in 0.11 also does not recursively iterate and 
> code is same as  FileBasedOutputSizeReader. Need to investigate where the 
> correct value comes from in 0.11 and fix it in 0.12.1/0.13.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to