[ https://issues.apache.org/jira/browse/MESOS-943?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Mahler updated MESOS-943: ---------------------------------- Fix Version/s: 0.18.0 > Provide an abstraction for asynchronous launching of subprocesses. > ------------------------------------------------------------------ > > Key: MESOS-943 > URL: https://issues.apache.org/jira/browse/MESOS-943 > Project: Mesos > Issue Type: Improvement > Reporter: Benjamin Mahler > Assignee: Benjamin Mahler > Fix For: 0.18.0 > > > This has come up during [~idownes] changes to add containerization. > We would like to be able to run commands asynchronously like: > {{curl -O http://foo.com/bigfile.zip}} > Currently, there is not an easy way to do this while having: > 1. A Future handle on the exit status of the subprocess. > 2. The means to 'discard' the future and consequently kill the subprocess > (e.g. stalled hadoop command). > 3. Handles to stdin, stdout, stderr of the subprocess. > The first issue is that we need to re-work the Reaper to not reap _all_ > subprocesses. Rather, we need to allow other components to reap their own > forked subprocesses without the slave's Reaper "stealing" the exit status > information. I've proposed that we move the Reaper into libprocess initially > with the only change being to reap the desired pids. (We can optimize this > later using a per-pid blocking thread or SIGCHLD). > One concern is that if we 'leak' child processes by accidentally not reaping, > we may fill the process table with zombie processes. However, we have tight > control over where our code performs forks, and can enforce proper reaping. -- This message was sent by Atlassian JIRA (v6.1.5#6160)