[ 
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

Reply via email to