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 "Jaromir Vanek (JIRA)" <ji...@apache.org> on 2015/11/20 17:19:11 UTC

[jira] [Created] (YARN-4377) Container process not killed

Jaromir Vanek created YARN-4377:
-----------------------------------

             Summary: Container process not killed
                 Key: YARN-4377
                 URL: https://issues.apache.org/jira/browse/YARN-4377
             Project: Hadoop YARN
          Issue Type: Bug
          Components: nodemanager
    Affects Versions: 2.6.0
         Environment: Debian linux
            Reporter: Jaromir Vanek
            Priority: Critical


It seems my processes in containers are not killed when the whole job is killed. Containers will hang in {{KILLING}} state until forever.

The root of this problem is that signals sent to the container process are sent with wrong user permissions. 

>From the nodemanager log:
{quote}
2015-11-20 15:38:22,063 DEBUG org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch: Got pid 20748 for container container_1443786884805_2298_01_000003
2015-11-20 15:38:22,063 DEBUG org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch: Sending signal to pid 20748 as user _submitter_ for container container_1443786884805_2298_01_000003
2015-11-20 15:38:22,063 DEBUG org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor: Sending signal 15 to pid 20748 as user _submitter_
2015-11-20 15:38:22,069 DEBUG org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch: Sent signal SIGTERM to pid 20748 as user _submitter_ for container container_1443786884805_2298_01_000003, result=failed
2015-11-20 15:38:22,319 DEBUG org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor: Sending signal 9 to pid 20748 as user _submitter_
{quote}

{{SIGTERM}} and following {{SIGKILL}} signals are sent with the *submitter* user permissions, but the container process is running under *yarn* user by default (when using {{DefaultContainerExecutor}} which is true in my case}}. The result is that signals are ignored and container will run forever.

Am I doing something wrong or is it a bug?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)