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