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

Alejandro Abdelnur commented on MAPREDUCE-4808:
-----------------------------------------------

Arun, Chris, Asokan,

It seem the contention point here is adding the MergerManager as public API.

How about the following alternative?

* 1. Refactoring of the MapOutput into abstract class and introduce the Memory 
and Disk subclasses.
* 2. Make the MergerManager pluggable in the Shuffle class via ReflectionUtils 
or a protected createMergeManager() method.
* 3. Move the thread creation from the MergeManager constructor to an init() 
method.

This would keep the MergerManager specific to the Shuffle implementation but it 
would allow alternate implementations to reuse parts of it.

The only thing left would be how to handle the local case which currently is 
done by the Merger via a static method.

                
> Allow reduce-side merge to be pluggable
> ---------------------------------------
>
>                 Key: MAPREDUCE-4808
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4808
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>    Affects Versions: 2.0.2-alpha
>            Reporter: Arun C Murthy
>            Assignee: Mariappan Asokan
>             Fix For: 2.0.3-alpha
>
>         Attachments: COMBO-mapreduce-4809-4812-4808.patch, 
> mapreduce-4808.patch, mapreduce-4808.patch, mapreduce-4808.patch, 
> mapreduce-4808.patch, mapreduce-4808.patch, MergeManagerPlugin.pdf
>
>
> Allow reduce-side merge to be pluggable for MAPREDUCE-2454

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