You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2013/04/13 00:44:15 UTC
[jira] [Commented] (MESOS-387) Command executor does not issue a
killtree / killpg on the shell command.
[ https://issues.apache.org/jira/browse/MESOS-387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13630709#comment-13630709 ]
Benjamin Mahler commented on MESOS-387:
---------------------------------------
https://reviews.apache.org/r/10440/
> Command executor does not issue a killtree / killpg on the shell command.
> -------------------------------------------------------------------------
>
> Key: MESOS-387
> URL: https://issues.apache.org/jira/browse/MESOS-387
> Project: Mesos
> Issue Type: Bug
> Reporter: Benjamin Mahler
> Assignee: Benjamin Mahler
>
> This manifested from my new Isolator tests that are now testing the Isolators. Using the command executor to kill the task left an orphaned child process, since it only issues a kill to the parent pid.
> Relevant code in executor.cpp:
> virtual void killTask(ExecutorDriver* driver, const TaskID& taskId)
> {
> // TODO(benh): Do kill escalation (i.e., after n seconds, kill -9).
> if (pid > 0) {
> kill(pid, SIGTERM);
> }
> }
> virtual void shutdown(ExecutorDriver* driver)
> {
> // TODO(benh): Do kill escalation (i.e., after n seconds, kill -9).
> if (pid > 0) {
> kill(pid, SIGTERM);
> }
> }
> This is non-trivial to fix, since it's unclear with who the responsibility lies for kill escalation. With a shell invocation of:
> "top -b -d 0 -n 30000 2>&1 > /dev/null & sleep 60"
> The sleep command will be killed immediately and the executor appears to exit, so kill escalation in the slave will not occur AFAICT. Thus, the command executor needs to:
> 1. Issue killtree() and killpg() calls instead of direct kill() calls.
> 2. Perform kill escalation (as indicated in the benh TODO above).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira