[
https://issues.apache.org/jira/browse/MAPREDUCE-2421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tom White updated MAPREDUCE-2421:
---------------------------------
Attachment: MAPREDUCE-2421.patch
I looked at extracting a JobsManager class, but the jobs map is deeply
entangled in JobTracker, and there's not a clean separation here. More
importantly, from the point of view of this JIRA it doesn't remove the
dependency that JobHistory has on JobTracker. Replacing the dependency on
JobTracker with one on a JobManager class, which has a map of JobInProgress
objects doesn't help, since JobInProgess itself depends on JobTracker. So,
unfortunately, this doesn't look like a workable approach.
Instead I think the current patch is a reasonable solution - it's a standard
technique of using a callback interface to facilitate decoupling (a bit like
TaskTrackerManager which exists to make JobTracker more manageable for
testing). I've regenerated the patch to mark the interface as @Private
@Unstable and added some javadoc so it's clearer what its purpose is.
> Remove JobHistory's dependency on JobTracker
> --------------------------------------------
>
> Key: MAPREDUCE-2421
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2421
> Project: Hadoop Map/Reduce
> Issue Type: Sub-task
> Components: client
> Reporter: Tom White
> Assignee: Tom White
> Attachments: MAPREDUCE-2421.patch, MAPREDUCE-2421.patch
>
>
> The direct dependency can be removed by introducing a callback inteface. This
> is for MAPREDUCE-1638.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira