[ https://issues.apache.org/jira/browse/YARN-679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14017618#comment-14017618 ]
Steve Loughran commented on YARN-679: ------------------------------------- This turns out to be useful both client-side and server-side. as any client that directly subclasses {{YarnClientImpl }} or hosts it within its own service composite can become a launched service. Similarly, AMs and containers are/contain YARN services, and need their own entry points. Having a single entry point means more effort can be put in to having an entry point, rather than per-service ones that are implemented by cut-and-paste and may be under-maintained. # effectively guarantees a well-tested shutdown/interrupt handler # effectively guarantees more functional testing of failure paths # with a good factoring of operations it also enables good unit test coverage # makes it easier to write new YARN services # provides a standard base set of exit codes # allows for a single entry point script to directly create and run YARN services > add an entry point that can start any Yarn service > -------------------------------------------------- > > Key: YARN-679 > URL: https://issues.apache.org/jira/browse/YARN-679 > Project: Hadoop YARN > Issue Type: Sub-task > Components: api > Affects Versions: 2.4.0 > Reporter: Steve Loughran > Assignee: Steve Loughran > Attachments: YARN-679-001.patch > > > There's no need to write separate .main classes for every Yarn service, given > that the startup mechanism should be identical: create, init, start, wait for > stopped -with an interrupt handler to trigger a clean shutdown on a control-c > interrrupt. > Provide one that takes any classname, and a list of config files/options -- This message was sent by Atlassian JIRA (v6.2#6252)