[
https://issues.apache.org/jira/browse/HADOOP-13035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15274913#comment-15274913
]
Wangda Tan commented on HADOOP-13035:
-------------------------------------
Thanks for the additional note, [[email protected]]!
It seems to me that existing code implementation will be hard to add new
in-transition state such as RUNNING/STARTING and keeps all existing properties
(such as idempotent as you mentioned above).
A theoretically possible solution to me is using YARN's state machine
implementation, so we can easier separate events from states, and better
defining transitions and events. However, considering AbstractService is
building block of all YARN services and many other applications, it's better to
not make such a big change to it.
For this JIRA, I would prefer to let service implementations to manage their
own in-transition state, and add a javadoc note to add more details about what
"STARTED" means.
Thoughts?
> Add states INITING and STARTING to YARN Service model to cover in-transition
> states.
> ------------------------------------------------------------------------------------
>
> Key: HADOOP-13035
> URL: https://issues.apache.org/jira/browse/HADOOP-13035
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Bibin A Chundatt
> Attachments: 0001-HADOOP-13035.patch, 0002-HADOOP-13035.patch,
> 0003-HADOOP-13035.patch
>
>
> As per the discussion in YARN-3971 the we should be setting the service state
> to STARTED only after serviceStart()
> Currently {{AbstractService#start()}} is set
> {noformat}
> if (stateModel.enterState(STATE.STARTED) != STATE.STARTED) {
> try {
> startTime = System.currentTimeMillis();
> serviceStart();
> ..
> }
> {noformat}
> enterState sets the service state to proposed state. So in
> {{service.getServiceState}} in {{serviceStart()}} will return STARTED .
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]