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 "Amar Kamat (JIRA)" <ji...@apache.org> on 2008/10/25 15:17:44 UTC
[jira] Commented: (HADOOP-4521) A JobInProgressLIstener can change
a job without informing other listeners
[ https://issues.apache.org/jira/browse/HADOOP-4521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12642619#action_12642619 ]
Amar Kamat commented on HADOOP-4521:
------------------------------------
One way I can think is to have the listeners add themselves to a {{JobListenerManager}} which will be implemented by the {{JobTracker}}. The {{JobListenerManager}} interface, for now, will implement the following interfaces
- addJobInProgressListener(JobInProgressListener)
- removeJobInProgressListener(JobInProgressListener)
- update(JobChangeEvent)
For example a listener might init the job, generate an event and then inform the {{JobListenerManager}} about it.
Also the {{JobInProgressListener}} interface should add itself to the {{JobListenerManager}} rather than some third party adding it. This can be done by adding a {{addJobListenerManager(JobListenerManager)}} interface to {{JobInProgressListener}} or extend the listener's constructor to accept a {{JobListenerManager}}.
Internally the listener should maintain the reference to the {{JobListenerManager}} and should change/update a job only via {{JobListenerManager.update()}}.
JobListenerManager should take the responsibility of updating other listeners.
> A JobInProgressLIstener can change a job without informing other listeners
> --------------------------------------------------------------------------
>
> Key: HADOOP-4521
> URL: https://issues.apache.org/jira/browse/HADOOP-4521
> Project: Hadoop Core
> Issue Type: Improvement
> Components: mapred
> Reporter: Amar Kamat
>
> As of now the {{JobInProgressListener}} adds itself to the {{JobTracker}} and gets updated/informed. Some of there {{JobInProgressListener}}'s control these changes/events (e.g. {{EagerTaskInitializer}}). The issue with this model is that a listener can change the job without informing other listeners.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.