[ https://issues.apache.org/jira/browse/YARN-1564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steve Loughran updated YARN-1564: --------------------------------- Attachment: YARN-1564-001.patch Here is a package containing the set of workflow yarn services we've been using, and tests. They are described in the javadocs and package-info.java; the key ones are: # {{WorkflowCompositeService}}: stops when a child stops; propagates up failures. # {{WorkflowSequenceService}}: starts its children in sequence, stopping when all have been run, or after the first failure. # {{WorkflowForkedProcessService}} fork a potentially long-lived process; matching the lifecycle of the YARN service to the process. This logs output, caching a few recent lines, rather than buffers it -for that long-lived execution. # {{WorkflowCallbackService}} executes any {{Callable}} (in java 8, a lambda) when started, stopping the service when it finishes, & propagating exceptions. Lets you run anything in a workflow, or just add new YARN services without subclassing. I've been using these for about 9-12 months, building my YARN apps from them, so I consider them fairly mature in terms of functionality. Note also that the {{ServiceParent extends Service }} interface offering public access to child services *is* effectively implemented by the YARN {{CompositeService}} -all we need to do is explicitly implement the interface and turn the two methods public. {code} void addService(Service service); List<Service> getServices(); {code} > add some basic workflow YARN services > ------------------------------------- > > Key: YARN-1564 > URL: https://issues.apache.org/jira/browse/YARN-1564 > Project: Hadoop YARN > Issue Type: New Feature > Components: api > Affects Versions: 2.4.0 > Reporter: Steve Loughran > Assignee: Steve Loughran > Priority: Minor > Attachments: YARN-1564-001.patch > > Original Estimate: 24h > Remaining Estimate: 24h > > I've been using some alternative composite services to help build workflows > of process execution in a YARN AM. > They and their tests could be moved in YARN for the use by others -this would > make it easier to build aggregate services in an AM -- This message was sent by Atlassian JIRA (v6.2#6252)