[
https://issues.apache.org/jira/browse/YARN-5184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15715976#comment-15715976
]
Junping Du commented on YARN-5184:
----------------------------------
I think about it again and agree Steve's point is correct. We choose abstract
class instead of interface is just to get rid of this situation (breaking
compatibility for extended class in source code level). At anytime, we can
easily add a default implementation for new added API and we don't have to make
them abstract again even we loose compatible restraint in next release. I
haven't see any side effort to do so, other than API code don't look so nicely.
+1 for current branch-2 patch go to trunk also.
> Fix up incompatible changes introduced on ContainerStatus and NodeReport
> ------------------------------------------------------------------------
>
> Key: YARN-5184
> URL: https://issues.apache.org/jira/browse/YARN-5184
> Project: Hadoop YARN
> Issue Type: Bug
> Components: api
> Affects Versions: 2.8.0, 2.9.0
> Reporter: Karthik Kambatla
> Assignee: Sangjin Lee
> Priority: Blocker
> Attachments: YARN-5184-branch-2.8.poc.patch,
> YARN-5184-branch-2.poc.patch
>
>
> YARN-2882 and YARN-5430 broke compatibility by adding abstract methods to
> ContainerStatus. Since ContainerStatus is a Public-Stable class, adding
> abstract methods to this class breaks any extensions.
> To fix this, we should add default implementations to these new methods and
> not leave them as abstract.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]