[ 
https://issues.apache.org/jira/browse/HADOOP-3740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12612739#action_12612739
 ] 

Alejandro Abdelnur commented on HADOOP-3740:
--------------------------------------------

I have not been following HADOOP-3412 , by quickly looking at it it could be.

My specific use case is the example I've put in the description:

I need to throttle access to external resources from the Hadoop cluster. As the 
execution unit in the Hadoop cluster is a task, it seems natural to assign 
'license' tags to the Map and Reduce of a job, when a task is started license 
tokens are taken from a license manager and when a task is completed 
(SUCCESS/FAIL) the tokens are returned to the license manager. the 
{{obtainNew*Task}} would be the hook to get tokens returning NULL if no token 
is avail for that 'license' tag, the {{updateTaskInProgress}} would be the hook 
for returning the license token.


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

Reply via email to