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.