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

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_r132296480
  
    --- Diff: 
twill-yarn/src/main/java/org/apache/twill/internal/appmaster/ApplicationMasterService.java
 ---
    @@ -193,7 +200,91 @@ private EventHandler 
createEventHandler(TwillSpecification twillSpec) throws Cla
         
Preconditions.checkArgument(EventHandler.class.isAssignableFrom(handlerClass),
                                     "Class {} does not implements {}",
                                     handlerClass, 
EventHandler.class.getName());
    -    return Instances.newInstance((Class<? extends EventHandler>) 
handlerClass);
    +    final EventHandler delegate = Instances.newInstance((Class<? extends 
EventHandler>) handlerClass);
    +    if (delegate == null) {
    +      // if no handler is specified, return an EventHandler with no-op
    +      return new EventHandler() {};
    +    }
    +    // wrap the delegate EventHandler so that all errors will be caught
    +    return new EventHandler() {
    +
    +      @Override
    +      public void started() {
    +        try {
    +          delegate.started();
    +        } catch (Throwable t) {
    +          LOG.warn("Exception when calling {}.started()", 
eventHandler.getClass().getName(), t);
    --- End diff --
    
    Shouldn't it be `delegate.getClass().getName()`??


> 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
>             Fix For: 0.12.0
>
>
> 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