You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Alejandro Abdelnur (JIRA)" <ji...@apache.org> on 2008/09/01 15:28:44 UTC

[jira] Updated: (HADOOP-3740) Make JobInProgress pluggable

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