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

Vinod Kumar Vavilapalli commented on MAPREDUCE-5168:
----------------------------------------------------

Sorry, missed this one.

bq. This is a case where 0.23 and branch-2/trunk have diverged. Before 
MAPREDUCE-4808 the merge threads took a list of MapOutput objects to merge, and 
these objects could linger around for quite some time waiting to be merged.
Ah, that explains it. I was looking at trunk and like you said, this is hardly 
an issue in trunk.

bq. So this is an important fix for 0.23 and should be harmless for 
trunk/branch-2. It's mostly preventative for the latter in case someone 
refactors the code and MapOutput objects could linger again.
Yeah, please commit this to 0.23 only. Don't see a need for this in 
trunk/branch-2. Thanks.
                
> Reducer can OOM during shuffle because on-disk output stream not released
> -------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-5168
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5168
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2
>    Affects Versions: 0.23.7, 2.0.5-beta
>            Reporter: Jason Lowe
>            Assignee: Jason Lowe
>            Priority: Critical
>         Attachments: MAPREDUCE-5168-branch-0.23.patch, MAPREDUCE-5168.patch
>
>
> If a reducer needs to shuffle a map output to disk, it opens an output stream 
> and writes the data to disk.  However it does not release the reference to 
> the output stream within the MapOutput, and the output stream can have a 128K 
> buffer attached to it.  If enough of these on-disk outputs are queued up 
> waiting to be merged, it can cause the reducer to OOM during the shuffle 
> phase.  In one case I saw there were 1200 on-disk outputs queued up to be 
> merged, leading to an extra 150MB of pressure on the heap due to the output 
> stream buffers that were no longer necessary.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to