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

Reply via email to