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

Arun C Murthy commented on MAPREDUCE-954:
-----------------------------------------

Furthermore, Owen/I discussed that it would be appropriate to provide a 
forwarding 'base' end-user facing implementations of each of the interfaces or 
abstract base classes which implement the interfaces to protect users who need 
to implement custom context objects against changes to the interfaces.

So, in-effect we will have

{Job|TaskAttempt|TaskInputOutput|Map|Reduce}Context - public stable
{Job|TaskAttempt|TaskInputOutput|Map|Reduce}ContextImpl - private (?)

and

abstract classes: Abstract{Job|TaskAttempt|TaskInputOutput|Map|Reduce}Context - 
public stable
or
concrete classes: Forwarding{Job|TaskAttempt|TaskInputOutput|Map|Reduce}Context 
- public stable

Thoughts?

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