[ 
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.

Reply via email to