Issue Details (XML | Word | Printable)

Key: HADOOP-3475
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Chris Douglas
Reporter: Chris Douglas
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Hadoop Common

MapOutputBuffer allocates 4x as much space to record capacity as intended

Created: 30/May/08 10:40 PM   Updated: 22/Aug/08 07:48 PM
Return to search
Component/s: None
Affects Version/s: 0.17.0
Fix Version/s: 0.17.1

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works 3475-1.patch 2008-05-30 11:55 PM Chris Douglas 1 kB
Text File Licensed for inclusion in ASF works 3475-2.patch 2008-06-03 03:52 AM Chris Douglas 1 kB
Issue Links:
Dependants
 

Hadoop Flags: Reviewed
Resolution Date: 17/Jun/08 10:39 PM


 Description  « Hide
When setting up its accounting tables, MapTask.MapOutputBuffer calculates the size of each of its buffers as:
Where #total_bytes is $io.sort.mb * 2^20 and #accounting_bytes is $io.sort.record.percent * #total_bytes
kvbuffer: #total_bytes - #accounting_bytes
kvoffsets: 1/4 of #accounting_bytes
kvindices: 3/4 of #accounting_bytes

kvoffsets and kvindices are ints, not bytes; the size of both arrays is incorrectly calculated.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Chris Douglas added a comment - 30/May/08 11:46 PM - edited
Corrects accounting and puts allocations in terms of #bytes required per record. No unit tests are included, as allocations internal to MapOutputBuffer aren't easily queried or observed.

Chris Douglas added a comment - 30/May/08 11:55 PM
Updated to include fewer embarrassing errors...

Hadoop QA added a comment - 01/Jun/08 06:01 PM
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12383158/3475-1.patch
against trunk revision 661918.

+1 @author. The patch does not contain any @author tags.

-1 tests included. The patch doesn't appear to include any new or modified tests.
Please justify why no tests are needed for this patch.

+1 javadoc. The javadoc tool did not generate any warning messages.

+1 javac. The applied patch does not increase the total number of javac compiler warnings.

+1 findbugs. The patch does not introduce any new Findbugs warnings.

+1 release audit. The applied patch does not increase the total number of release audit warnings.

-1 core tests. The patch failed core unit tests.

+1 contrib tests. The patch passed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2530/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2530/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2530/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2530/console

This message is automatically generated.


Tsz Wo (Nicholas), SZE added a comment - 03/Jun/08 01:27 AM
To be consistent, (Integer.SIZE / 8) should be either (Integer.SIZE / Byte.SIZE) or just 4. Otherwise, patch looks good.

Chris Douglas added a comment - 03/Jun/08 03:52 AM
Incorporated Nicholas's feedback

Chris Douglas added a comment - 03/Jun/08 03:57 AM
I just committed this.

Hudson added a comment - 03/Jun/08 01:26 PM

Chris Douglas added a comment - 17/Jun/08 10:31 PM
Reopening this, as it is necessary for 0.17.1

Chris Douglas added a comment - 17/Jun/08 10:39 PM
I just committed this to the 0.17 branch.

Hudson added a comment - 19/Jun/08 12:35 PM