[ https://issues.apache.org/jira/browse/TWILL-190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15427575#comment-15427575 ]
ASF GitHub Bot commented on TWILL-190: -------------------------------------- Github user hsaputra commented on a diff in the pull request: https://github.com/apache/twill/pull/2#discussion_r75424881 --- Diff: twill-core/src/main/java/org/apache/twill/internal/TwillContainerLauncher.java --- @@ -153,21 +155,29 @@ public TwillContainerController start(RunId runId, int instanceId, Class<?> main .addCommand(firstCommand, command.toArray(new String[command.size()])) .launch(); - TwillContainerControllerImpl controller = new TwillContainerControllerImpl(zkClient, runId, processController); + TwillContainerControllerImpl controller = + new TwillContainerControllerImpl(zkClient, runId, runtimeSpec.getName(), instanceId, processController); controller.start(); return controller; } private static final class TwillContainerControllerImpl extends AbstractZKServiceController implements TwillContainerController { + private final String runnable; + private final int instanceId; private final ProcessController<Void> processController; + // This latch can be used to wait for container shutdown + private final CountDownLatch shutdownLatch; private volatile ContainerLiveNodeData liveData; - protected TwillContainerControllerImpl(ZKClient zkClient, RunId runId, + protected TwillContainerControllerImpl(ZKClient zkClient, RunId runId, String runnable, int instanceId, ProcessController<Void> processController) { super(runId, zkClient); + this.runnable = runnable; + this.instanceId = instanceId; this.processController = processController; + this.shutdownLatch = new CountDownLatch(1); --- End diff -- I am confused, so the `CountDownLatch` is own as private member and being set in another method within a same instance? > Restart of a TwillRunnable does not wait for the runnable to stop > ----------------------------------------------------------------- > > Key: TWILL-190 > URL: https://issues.apache.org/jira/browse/TWILL-190 > Project: Apache Twill > Issue Type: Bug > Components: core, yarn > Affects Versions: 0.6.0-incubating, 0.7.0-incubating > Reporter: Poorna Chandra > Assignee: Poorna Chandra > Fix For: 0.8.0 > > > Today when a TwillRunnable is restarted, the call sends a stop message to the > TwillRunnable, and then starts new TwillRunnable without waiting for the > stopping runnable to finish stopping. > This can leave a non-responding TwillRunnable container running, and can lead > to issues like two TwillRunnables with same instance id running at the same > time. > We should kill the containers that don't respond to stop message. -- This message was sent by Atlassian JIRA (v6.3.4#6332)