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