[ https://issues.apache.org/jira/browse/MAPREDUCE-954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753147#action_12753147 ]
Doug Cutting commented on MAPREDUCE-954: ---------------------------------------- > to protect users who need to implement custom context objects against changes > to the interfaces I'm confused. Interfaces differ from abstract classes in two ways: # Abstract classes can have (default) method implementations. This permits APIs to evolve without breaking callers or implementors. # Multiple interfaces can be inherited. The primary advantage of interfaces is the second. But if implementations extend a base class this advantage is voided. What then is the utility of the interface? > 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.