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: yarn-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-dev-h...@hadoop.apache.org