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

Zhaohui Xin edited comment on YARN-9074 at 12/1/18 3:38 AM:
------------------------------------------------------------

{quote}IIRC, there isn't a way to avoid the deletion task and continue to 
support the debug delay. Is there an issue that you encountered that you can 
share more detail on?
{quote}
Hi, [~shaneku...@gmail.com]. Current code works, but there is some confusion. I 
think container "_stop and clean up"_ should be located in CLEANUP_CONTAINER, 
but now part of it is in CLEANUP_CONTAINER and part is in Deletion Service Now.

!image-2018-12-01-11-38-18-191.png!


was (Author: uranus):
{quote}IIRC, there isn't a way to avoid the deletion task and continue to 
support the debug delay. Is there an issue that you encountered that you can 
share more detail on?
{quote}
Hi, [~shaneku...@gmail.com]. Current code works, but there is some confusion. I 
think container "_stop and clean up"_ should be located in CLEANUP_CONTAINER, 
but now part of it is in CLEANUP_CONTAINER and part is in Deletion Service Now.

 

!image-2018-12-01-11-36-12-448.png!

> 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
>         Attachments: image-2018-12-01-11-36-12-448.png, 
> image-2018-12-01-11-38-18-191.png
>
>
> {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