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

Reply via email to