You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Tom White (JIRA)" <ji...@apache.org> on 2011/03/18 06:12:29 UTC

[jira] Updated: (MAPREDUCE-1638) Divide MapReduce into API and implementation source trees

     [ https://issues.apache.org/jira/browse/MAPREDUCE-1638?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tom White updated MAPREDUCE-1638:
---------------------------------

    Attachment: MAPREDUCE-1638.patch
                MAPREDUCE-1638.sh

Here's a patch to get started. The script moves the MapReduce server classes into another source tree (leaving them in the same package). Compiling the remaining classes we can see which dependencies of the API on the implementation still need to be taken care of.

Summarizing the compilation errors:

* ClusterStatus depends on JobTracker.State. Covered by MAPREDUCE-2337
* CLI depends on HistoryViewer. Fix: Declare a public API for JobHistory.
* Cluster depends on JobTracker, LocalJobRunner, JobHistory. Fix: Introduce a factory using ServiceLoader.
* Application (Pipes) depends on TaskLog.
* DistributedCache depends on TaskController, MRAsyncDiskService.




> Divide MapReduce into API and implementation source trees
> ---------------------------------------------------------
>
>                 Key: MAPREDUCE-1638
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1638
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: build, client
>            Reporter: Tom White
>            Assignee: Tom White
>         Attachments: MAPREDUCE-1638.patch, MAPREDUCE-1638.sh
>
>
> I think it makes sense to separate the MapReduce source into public API and implementation trees. The public API could be broken further into kernel and library trees.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira