[ 
https://issues.apache.org/jira/browse/HADOOP-3822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617495#action_12617495
 ] 

Doug Cutting commented on HADOOP-3822:
--------------------------------------

> he extols the virtues of interfaces over abstract classes

What are they?  Can you summarize?  Are they significant?

> So perhaps the developer API (which is "less public") is the place where it 
> is OK to introduce interfaces [...]

Perhaps, if there are significant advantages to interfaces.  The ability to 
implement multiple interfaces in a single class can save a few lines of code, 
but doesn't really seem significant to me when compared to the huge cost of 
freezing the API.

I like Steve's guidelines (above) for abstract classes.  Perhaps we should 
document these (and more) in the wiki or someplace, and try to validate our 
abstract APIs against them.  There are added potential pitfalls when using 
abstract classes instead of interfaces, and we should work hard to avoid them.

> Create a public scheduler API
> -----------------------------
>
>                 Key: HADOOP-3822
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3822
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: mapred
>            Reporter: Tom White
>             Fix For: 0.19.0
>
>         Attachments: hadoop-3822.patch, hadoop-3822.sh
>
>
> The work in HADOOP-3412 provided an API to support pluggable schedulers. 
> However implementations have to be in the org.apache.hadoop.mapred package, 
> which is undesirable. The goal of this issue is to create a public API for 
> scheduler writers to code against.

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