[ 
https://issues.apache.org/jira/browse/MAPREDUCE-954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756705#action_12756705
 ] 

Tom White commented on MAPREDUCE-954:
-------------------------------------

Owen, thanks for pointing out MRUnit. MRUnit has a wrapper class, but I don't 
see how it would be significantly better if Context were an interface.

bq. The common theme was that the details, especially in the constructors and 
fields were far more specific than the interfaces.

The constructors are a difference between classes and interfaces, but I believe 
we can mark them as Private Evolving to get around this. I didn't see any 
fields that had to be added to context classes that wouldn't be there if they 
were interfaces. I suppose I'm finding it hard to see what concrete things we 
are gaining in exchange for sacrificing API evolution between major releases. 

> The new interface's Context objects should be interfaces
> --------------------------------------------------------
>
>                 Key: MAPREDUCE-954
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-954
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: client
>            Reporter: Owen O'Malley
>            Assignee: Arun C Murthy
>             Fix For: 0.21.0
>
>         Attachments: MAPREDUCE-954.patch, MAPREDUCE-954.patch, 
> MAPREDUCE-954.patch
>
>
> When I was doing HADOOP-1230, I was persuaded to make the Context objects as 
> classes. I think that was a serious mistake. It caused a lot of information 
> leakage into the public classes.

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