[
https://issues.apache.org/jira/browse/HADOOP-3740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alejandro Abdelnur updated HADOOP-3740:
---------------------------------------
Attachment: patch3740.txt
Modifications to {{JobInProgress}} :
* made class public
* added public default constructor
* previous public constructor is now a method, {{init}}
Modifications to {{hadoop-default.xml}}:
* added a property that specifies the {{JobInProgress}} implementation to use,
defaulting to {{JobInProgress}}.
Modifications to {{JobTracker}} :
* Instead instantiating {{JobInProgress}} with {{new}} uses
{{ReflectionUtils.newInstance()}}
* the instantiated {{JobInProgress}} is then initialized calling its {{init}}
method
> Make JobInProgress pluggable
> ----------------------------
>
> Key: HADOOP-3740
> URL: https://issues.apache.org/jira/browse/HADOOP-3740
> Project: Hadoop Core
> Issue Type: Improvement
> Components: mapred
> Environment: all
> Reporter: Alejandro Abdelnur
> Attachments: patch3740.txt
>
>
> By allowing a pluggable JobInProgess it will be possible for provide
> implementations that can do a sophisticated task provisioning to the
> JobTracker.
> For example, by providing alternate implementations of the
> {{obtainNewMapTask}}, {{obtainNewReduceTask}} and {{updateTaskInProgress}} it
> would be possible to implement a license server that allows to throttle use
> of external resources (ie webservices, databases) so at any given time there
> are not more than N tasks using a given resource. For this a task could be
> tagged with the names of external resources and the license server would keep
> track of the tasks running per tag, if the counter reaches zero then the
> {{obtainNew*Task}} method could return NULL instead of a task.
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.