You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Eric Yang (JIRA)" <ji...@apache.org> on 2018/05/01 04:49:00 UTC

[jira] [Commented] (YARN-8206) Sending a kill does not immediately kill docker containers

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

Eric Yang commented on YARN-8206:
---------------------------------

[~Jim_Brennan] Docker supports pid namespace.  Can we send signal to wrong pid, if pid namespace feature is turned on?  In general, it is good practice to keep the abstraction in place to avoid direct call to internal state of another program.  I see the reasoning to have a short cut to pid to save the system in the emergency situation, but we need to be cautions that the keep it simple optimization doesn't create limitations by accident.

> Sending a kill does not immediately kill docker containers
> ----------------------------------------------------------
>
>                 Key: YARN-8206
>                 URL: https://issues.apache.org/jira/browse/YARN-8206
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Eric Badger
>            Assignee: Eric Badger
>            Priority: Major
>         Attachments: YARN-8206.001.patch
>
>
> {noformat}
>         if (ContainerExecutor.Signal.KILL.equals(signal)
>             || ContainerExecutor.Signal.TERM.equals(signal)) {
>           handleContainerStop(containerId, env);
> {noformat}
> Currently in the code, we are handling both SIGKILL and SIGTERM as equivalent for docker containers. However, they should actually be separate. When YARN sends a SIGKILL to a process, it means for it to die immediately and not sit around waiting for anything. This ensures an immediate reclamation of resources. Additionally, if a SIGTERM is sent before the SIGKILL, the task might not handle the signal correctly, and will then end up as a failed task instead of a killed task. This is especially bad for preemption. 



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

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