[ 
https://issues.apache.org/jira/browse/MAPREDUCE-5821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13998219#comment-13998219
 ] 

Hudson commented on MAPREDUCE-5821:
-----------------------------------

FAILURE: Integrated in Hadoop-Hdfs-trunk #1753 (See 
[https://builds.apache.org/job/Hadoop-Hdfs-trunk/1753/])
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)

Reply via email to