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