[ https://issues.apache.org/jira/browse/MAPREDUCE-954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753708#action_12753708 ]
Doug Cutting commented on MAPREDUCE-954: ---------------------------------------- > we should take this opportunity to atleast make the Context Objects pure > abstract classes if not go the full hog and make them interfaces. I'm okay with pure abstract classes but have concerns about the evolvability of interfaces. I'm trying to understand Owen's proposal. Here's my guess: Applications won't implement Mapper.Context. Rather the framework will implement it, and applications will access it referencing the abstract API. But for the framework to implement it, it must define it within a Mapper, since it cannot be a static, standalone class and still be generic. The framework's Mapper implementation won't actually be used other than to create a Mapper.ContextImpl--other mapper methods will throw UnimplementedMethodException. Do I have this right? > 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.