hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karthik Kambatla (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-1098) Separate out RM services into "Always On" and "Active"
Date Thu, 05 Sep 2013 21:19:51 GMT

    [ https://issues.apache.org/jira/browse/YARN-1098?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13759478#comment-13759478
] 

Karthik Kambatla commented on YARN-1098:
----------------------------------------

Thanks Bikas. 

bq. I dont think Alejandro meant wrapping ResourceManager inside an outer class. I think he
means define that class separately instead of defining it within the scope of the ResourceManager
class. ResourceManager class is still top-level and uses the new class as a member object.

True. My understanding of what Alejandro suggested is: Have ResourceManager as is. Move ActiveServices
from being an inner class of RM to a class by itself, say {{RMActiveServices}}. The RM will
have a member object RMActiveServices activeServices.

bq. 1) Maintain the ActiveServices as an inner class so that it has direct access to all members
and methods of ResourceManager. This is same as your suggestion above in response to Alejandro's
comments.
2) Move the entire code from ResourceManager.serviceInit/Start/Stop() to ActiveServices.serviceInit()/Start/Stop().
Have ResourceManager.serviceInit/Start/Stop() simply call activeService.serviceInit/Start()/Stop().
This is a cosmetic code refactor suggestion that I think will significantly reduce the size
of this patch.

While this is definitely an improvement over my earlier patch using anonymous classes, the
RM services (AdminService, ClientRMService etc.) will be fields in the ResourceManager and
not ActiveServices. Are we okay with this not-entirely-idle approach?

bq. I did not understand why setRMStateStore method needed to be changed in the first place?
IIRC, one of the tests was overriding this method and hence it had to be a part of RM and
not ActiveServices.
                
> Separate out RM services into "Always On" and "Active"
> ------------------------------------------------------
>
>                 Key: YARN-1098
>                 URL: https://issues.apache.org/jira/browse/YARN-1098
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager
>    Affects Versions: 2.1.0-beta
>            Reporter: Karthik Kambatla
>            Assignee: Karthik Kambatla
>              Labels: ha
>         Attachments: yarn-1098-1.patch, yarn-1098-2.patch, yarn-1098-approach.patch,
yarn-1098-approach.patch
>
>
> From discussion on YARN-1027, it makes sense to separate out services that are stateful
and stateless. The stateless services can  run perennially irrespective of whether the RM
is in Active/Standby state, while the stateful services need to  be started on transitionToActive()
and completely shutdown on transitionToStandby().
> The external-facing stateless services should respond to the client/AM/NM requests depending
on whether the RM is Active/Standby.

--
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

Mime
View raw message