[
https://issues.apache.org/jira/browse/YARN-804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13683584#comment-13683584
]
Siddharth Seth commented on YARN-804:
-------------------------------------
Are the same semantics as AbstractService enforced for the CompositeService as
well ? Are users expected to call super.init / super.serviceInit to take care
of all the Services which are part of the composite service, or will
CompositeService just take of this ? Otherwise, it may make sense to re-open
YARN-811.
> mark AbstractService init/start/stop methods as final
> -----------------------------------------------------
>
> Key: YARN-804
> URL: https://issues.apache.org/jira/browse/YARN-804
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: api
> Affects Versions: 2.1.0-beta
> Reporter: Steve Loughran
> Assignee: Vinod Kumar Vavilapalli
> Attachments: YARN-804-001.patch
>
>
> Now that YARN-117 and MAPREDUCE-5298 are checked in, we can mark the public
> AbstractService init/start/stop methods as final.
> Why? It puts the lifecycle check and error handling around the subclass code,
> ensuring no lifecycle method gets called in the wrong state or gets called
> more than once.When a {{serviceInit(), serviceStart() & serviceStop()}}
> method throws an exception, it's caught and auto-triggers stop.
> Marking the methods as final forces service implementations to move to the
> stricter lifecycle. It has one side effect: some of the mocking tests play up
> -I'll need some assistance here
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira