[ 
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)

Reply via email to