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

Shane Kumpf commented on YARN-9074:
-----------------------------------

[~ebadger] is correct. To allow for debugging, YARN provides the ability to 
keep artifacts on disk for an admin supplied amount of time (the debug deletion 
delay). Deleting docker containers needs to be handled by the DeletionService 
to be able to support keeping containers around, up until the debug deletion 
delay expires, for debugging purposes.

> Docker container rm command should be executed after stop
> ---------------------------------------------------------
>
>                 Key: YARN-9074
>                 URL: https://issues.apache.org/jira/browse/YARN-9074
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Zhaohui Xin
>            Assignee: Zhaohui Xin
>            Priority: Major
>
> {code:java}
> @Override
> public void transition(ContainerImpl container, ContainerEvent event) {
> container.setIsReInitializing(false);
> // Set exit code to 0 on success 
> container.exitCode = 0;
> // TODO: Add containerWorkDir to the deletion service.
> if (DockerLinuxContainerRuntime.isDockerContainerRequested(
> container.daemonConf,
> container.getLaunchContext().getEnvironment())) {
> removeDockerContainer(container);
> }
> if (clCleanupRequired) {
> container.dispatcher.getEventHandler().handle(
> new ContainersLauncherEvent(container,
> ContainersLauncherEventType.CLEANUP_CONTAINER));
> }
> container.cleanup();
> }{code}
> Now, when container is finished, NM firstly execute "_docker rm xxx"_  to 
> remove it and this thread is placed in deletionService. see more in YARN-5366 
> .
> Next, NM will execute "_docker stop_" and "docker kill" command. these tow 
> commands are wrapped up in ContainerCleanup thread and executed by 
> ContainersLauncher. see more in YARN-7644. 
> The above will cause the container's cleanup to be split into two threads. I 
> think we should refactor these code to make all docker container killing 
> process be place in ContainerCleanup thread and "_docker rm_" should be 
> executed last.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to