[ https://issues.apache.org/jira/browse/MAPREDUCE-5821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13998181#comment-13998181 ]
Hudson commented on MAPREDUCE-5821: ----------------------------------- FAILURE: Integrated in Hadoop-Mapreduce-trunk #1779 (See [https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1779/]) MAPREDUCE-5821. Avoid unintentional reallocation of byte arrays in segments during merge. Contributed by Todd Lipcon (cdouglas: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1594654) * /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt * /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/Merger.java > IFile merge allocates new byte array for every value > ---------------------------------------------------- > > Key: MAPREDUCE-5821 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-5821 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: performance, task > Affects Versions: 2.4.1 > Reporter: Todd Lipcon > Assignee: Todd Lipcon > Fix For: 3.0.0, 2.5.0, 2.4.1 > > Attachments: after-patch.png, before-patch.png, mapreduce-5821.txt, > mapreduce-5821.txt > > > I wrote a standalone benchmark of the MapOutputBuffer and found that it did a > lot of allocations during the merge phase. After looking at an allocation > profile, I found that IFile.Reader.nextRawValue() would always allocate a new > byte array for every value, so the allocation rate goes way up during the > merge phase of the mapper. I imagine this also affects the reducer input, > though I didn't profile that. -- This message was sent by Atlassian JIRA (v6.2#6252)