[ https://issues.apache.org/jira/browse/TWILL-240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16113161#comment-16113161 ]
ASF GitHub Bot commented on TWILL-240: -------------------------------------- Github user chtyim commented on a diff in the pull request: https://github.com/apache/twill/pull/58#discussion_r131210237 --- Diff: twill-yarn/src/main/java/org/apache/twill/internal/appmaster/ApplicationMasterService.java --- @@ -291,6 +301,23 @@ public void run() { // Since all the runnables are now stopped, it is okay to stop the poller. stopPoller.shutdownNow(); cleanupDir(); + if (eventHandler != null) { + if (finalStatus == null) { + // if finalStatus is not set, the application must be stopped by a SystemMessages#STOP_COMMAND + eventHandler.killed(twillRuntimeSpec.getTwillAppName(), twillRuntimeSpec.getTwillAppRunId()); + } + switch (finalStatus) { + case COMPLETED: + eventHandler.completed(twillRuntimeSpec.getTwillAppName(), twillRuntimeSpec.getTwillAppRunId()); + break; + case ABORTED: + eventHandler.aborted(twillRuntimeSpec.getTwillAppName(), twillRuntimeSpec.getTwillAppRunId()); + break; + default: + // should never reach here + LOG.error("Unsupported FinalStatus '%s'", finalStatus.name()); --- End diff -- That's not the right syntax. slf4j logger uses `{}`. Should be `LOG.error("Unsupported status {}", finalStatus)`. > Improve EventHandler to handle more application lifecycle events > ---------------------------------------------------------------- > > Key: TWILL-240 > URL: https://issues.apache.org/jira/browse/TWILL-240 > Project: Apache Twill > Issue Type: New Feature > Reporter: Chengfeng Mao > Assignee: Chengfeng Mao > > Application Master should be able to run application specific code when > certain lifecycle events happen by calling methods from EventHandler. For > instance, when the app first starts, completes, aborts and etc. -- This message was sent by Atlassian JIRA (v6.4.14#64029)