Adam Binford created YARN-11831:
-----------------------------------
Summary: Docker executor does not signal applications with kill
Key: YARN-11831
URL: https://issues.apache.org/jira/browse/YARN-11831
Project: Hadoop YARN
Issue Type: Bug
Components: nodemanager
Affects Versions: 3.4.1
Reporter: Adam Binford
With the Docker runtime, applications do not receive signals from the
NodeManagers and are not able to exit cleanly. This is because the root process
in the container is "bash -c", as set by the UnixShellScriptBuilder, and bash
does not forward signals to its child processes.
This only affects the Docker runtime because other Linux runtimes use the
system "kill" command with the process group ID, not just the PID, so all child
processes receive the kill signal even if the parent process doesn't forward it.
The fix is either:
- Remove the "bash -c" process from the tree, I'm not sure why this needs to
exist as the launch_container.sh script is already running in bash to begin
with.
- Use the system kill command on the PID reported by docker instead of using
"docker kill"
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]