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

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_r132297954
  
    --- Diff: 
twill-yarn/src/main/java/org/apache/twill/internal/appmaster/RunningContainers.java
 ---
    @@ -401,6 +409,24 @@ void stopAll() {
         // When we acquire this lock, all stopped runnables should have been 
cleaned up by handleCompleted() method
         containerLock.lock();
         try {
    +      for (Map.Entry<String, Map<String, TwillContainerController>> entry 
: containers.rowMap().entrySet()) {
    +        String runnableName = entry.getKey();
    +        Collection<ContainerInfo> containerInfos = 
containerStats.get(runnableName);
    +        for (Map.Entry<String, TwillContainerController> 
containerControllerEntry : entry.getValue().entrySet()) {
    +          boolean containerExist = false;
    +          for (ContainerInfo containerInfo : containerInfos) {
    +            if 
(containerInfo.getId().equals(containerControllerEntry.getKey())) {
    +              containerExist = true;
    +              break;
    +            }
    +          }
    +          // Only call eventHandler.containerStopped if container is not 
removed by handleCompleted
    +          if (containerExist) {
    +            eventHandler.containerStopped(runnableName, 
containerControllerEntry.getValue().getInstanceId(),
    --- End diff --
    
    you can move this inside the `for` loop and no need to use `containerExist`.


> 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