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 "David Bowen (JIRA)" <ji...@apache.org> on 2007/03/12 23:09:09 UTC

[jira] Commented: (HADOOP-1111) Job completion notification to a job configured URL

    [ https://issues.apache.org/jira/browse/HADOOP-1111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12480201 ] 

David Bowen commented on HADOOP-1111:
-------------------------------------


I don't think that you should use HTTP GET for this, because GETs should not change the state of the server.  See http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1.1.  POST or possibly PUT would be appropriate instead.

Rather than having a syntax for embedding jobid etc in the url, these could just be passed as HTTP parameters.



> Job completion notification to a job configured URL
> ---------------------------------------------------
>
>                 Key: HADOOP-1111
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1111
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: mapred
>    Affects Versions: 0.12.0
>         Environment: all
>            Reporter: Alejandro Abdelnur
>
> Currently clients have to poll the JobTracker to find if a job has completed or not.
> When invoking Hadoop from other systems is desirable to have a notification mechanism on job completion. 
> The notification approach simplifies the client waiting for completion and removes load from the JobTracker as polling can be avoided. 
> Proposed solution:
> When the JobTracker processes the completion of a job (success and failure)  if the job configuration has a jobEnd.notificationUrl property it will make a HTTP GET request to the specified URL.
> The jobEnd.notificationUrl property may include 2 variables in it '${jobId}' and '${jobStatus}'. if they are present, they will be replaced with tehe job ID and status of the job and the URL will be invoked.
> Two additional properties, 'jobEnd.retries' and 'jobEnd.retryInterval', will indicate retry behavior.
> Not to delay the JobTracker processing while doing notifications, a ConsumerProducer Queue will be used to queue up job notification upon completion.
> A daemon thread will consume job notifications from the above Queue and will make the URL invocation. 
> On notification failure, the job notification is  queue up again on the notification queue.
> The queue will be a java.util.concurrent.DelayQueue. This will make job notifications (on retries) to be avaiable on the consumer side only when the retry time is up.
> The changes will be done in the JobTracker and in the LocalJobRunner.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.