[
https://issues.apache.org/jira/browse/MESOS-579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13817615#comment-13817615
]
Chris Lambert commented on MESOS-579:
-------------------------------------
[~idownes], is this out for review? If so can you link the RBs and move this
to Reviewable? Thanks.
> Refactor the Isolator to return Futures and wrap a libprocess Process.
> ----------------------------------------------------------------------
>
> Key: MESOS-579
> URL: https://issues.apache.org/jira/browse/MESOS-579
> Project: Mesos
> Issue Type: Improvement
> Reporter: Benjamin Mahler
> Assignee: Ian Downes
>
> Currently the Isolator interface _is_ a libprocess Process:
> class Isolator : public process::Process<Isolator>
> {
> ...
> virtual void killExecutor(
> const FrameworkID& frameworkId,
> const ExecutorID& executorId) = 0;
> ...
> }
> This has led to issues where we've accidentally called directly into Isolator
> (instead of dispatching). We should make Isolator a wrapper around a
> libprocess Process.
> Second, the Isolator should return Futures rather than calling back into the
> slave. We currently have to construct the ProcessIsolator / CgroupsIsolator
> by passing in the Slave PID, so that they can dispatch back into the slave to
> notify when the executor has exited (for example). We can eliminate the need
> for this by returning Futures!
> class Isolator
> {
> ...
> // Returns a Future that becomes ready when the executor has been killed.
> // Exited contains the status and message.
> virtual Future<Exited> killExecutor(
> const FrameworkID& frameworkId,
> const ExecutorID& executorId);
> {
> return dispatch(isolator, &IsolatorProcess::killExecutor, frameworkId,
> executorId);
> }
> ...
> private:
> IsolatorProcess* isolator;
> }
--
This message was sent by Atlassian JIRA
(v6.1#6144)