[
https://issues.apache.org/jira/browse/HADOOP-3801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12615504#action_12615504
]
Vivek Ratan commented on HADOOP-3801:
-------------------------------------
Given that JobInProgressListener has only abstract methods, it'll likely change
because of additional/deletion/modification of abstract methods. That will
break code anyway. Doug, where do you see JobInProgressListener as an abstract
class being more amenable to change that it being an interface? Sure, an
observer implementation can share state with the scheduler, but that comes with
its own set of work - shared data structures have to be exposed, and hence
wrapped in getters/setters or classes.
So, given that the JobInProgressListener abstract class is just a collection of
abstract methods, and likely will not contain any default state or behavior,
I'm just not seeing how it's better to leave it that way than make it into an
interface.
> Change the job state observer classes to interfaces
> ---------------------------------------------------
>
> Key: HADOOP-3801
> URL: https://issues.apache.org/jira/browse/HADOOP-3801
> Project: Hadoop Core
> Issue Type: Improvement
> Reporter: Owen O'Malley
> Assignee: Vivek Ratan
>
> Schedulers will most often want to be the observers of the job state events
> in a single class. Therefore, I think they should be interfaces which can
> have multiple inheritance.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.