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 Badger (JIRA)" <ji...@apache.org> on 2018/05/02 19:58:00 UTC

[jira] [Comment Edited] (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=16461556#comment-16461556 ] 

Eric Badger edited comment on YARN-8206 at 5/2/18 7:57 PM:
-----------------------------------------------------------

Hey [~shanekumpf@gmail.com], thanks for the review. I fixed up the first 3 comments that you mentioned in patch 003. I'm wondering, however, for 4, is that a regression? Should that be handled in a separate JIRA? I'm looking through the code and I thought that error message had always been a problem. I'm not super opposed to putting it in this JIRA, just want to make sure I'm on the same page


was (Author: ebadger):
Hey [~shanekumpf@gmail.com], thanks for the review. I fixed up the first 3 comments that you mentioned. I'm wondering, however, for 4, is that a regression? Should that be handled in a separate JIRA? I'm looking through the code and I thought that error message had always been a problem. I'm not super opposed to putting it in this JIRA, just want to make sure I'm on the same page

> 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, YARN-8206.002.patch, YARN-8206.003.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