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 14:19:44 UTC
[jira] Created: (HADOOP-4521) A JobInProgressLIstener can change a
job without informing 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.
[jira] Commented: (HADOOP-4521) A JobInProgressLIstener can change
a job without informing other listeners
Posted by "Amar Kamat (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Commented: (HADOOP-4521) A JobInProgressLIstener can change
a job without informing other listeners
Posted by "Hemanth Yamijala (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12642844#action_12642844 ]
Hemanth Yamijala commented on HADOOP-4521:
------------------------------------------
Without thinking too deeply into the proposed interface, one comment is that the {{JobListenerManager}} is partly satisfied by the {{TaskTrackerManager}} interface we have. The {{add...}} and {{remove...}} methods are already defined as part of it.
At the face of it, something like {{updateJobInProgressListeners(JobChangeEvent)}} makes sense to me.
> 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.
[jira] Commented: (HADOOP-4521) A JobInProgressLIstener can change
a job without informing other listeners
Posted by "Amar Kamat (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12649258#action_12649258 ]
Amar Kamat commented on HADOOP-4521:
------------------------------------
Hemanth, the reason for introducing {{JobListenerManager}} is that we need not expose {{TaskTrackerManager}} to {{JobInProgressListener}}. Also {{JobListenerManager}} and {{TaskTrackerManager}} can evolve independently i.e we can change {{JobListenerManager}} along with scheduler without changing {{TaskTrackerManager}}.
> 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.