[
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