[ https://issues.apache.org/jira/browse/YARN-4377?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jaromir Vanek updated YARN-4377: -------------------------------- Description: 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? was: 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? > 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)