[
https://issues.apache.org/jira/browse/HADOOP-1111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alejandro Abdelnur updated HADOOP-1111:
---------------------------------------
Attachment: patch-1111.txt
Made http server port to receive notification dynamically assigned (setting it
zero).
> 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.2
> Environment: all
> Reporter: Alejandro Abdelnur
> Fix For: 0.13.0
>
> Attachments: patch-1111.txt, patch-1111.txt, patch-1111.txt,
> patch-1111.txt, patch-1111.txt, patch-1111.txt, patch-1111.txt,
> patch-1111.txt, patch-1111.txt, patch-1111.txt
>
>
> 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.