[ 
https://issues.apache.org/jira/browse/MESOS-1807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17020530#comment-17020530
 ] 

Benjamin Mahler commented on MESOS-1807:
----------------------------------------

[~Charle] the command executor is a special case, it's implicitly generated and 
we oversubscribe a little bit to make room for it: 
https://github.com/apache/mesos/blob/1.9.0/src/slave/slave.cpp#L6663-L6676

I think the expectation for CUSTOM or the new DEFAULT executors are that they 
specify their resource requirements. Since it didn't break any backwards 
compatibility, we enforce it for the new DEFAULT case: 
https://github.com/apache/mesos/blob/1.9.0/src/master/validation.cpp#L1842-L1859

[~greggomann] is also working on cpu/mem requests vs limits (see MESOS-10001), 
so that may provide you with the flexibility you desire depending on what 
you're looking to do.

> Disallow executors with cpu only or memory only resources
> ---------------------------------------------------------
>
>                 Key: MESOS-1807
>                 URL: https://issues.apache.org/jira/browse/MESOS-1807
>             Project: Mesos
>          Issue Type: Improvement
>            Reporter: Vinod Kone
>            Priority: Major
>         Attachments: Screenshot 2015-07-28 14.40.35.png
>
>
> Currently master allows executors to be launched with either only cpus or 
> only memory but we shouldn't allow that.
> This is because executor is an actual unix process that is launched by the 
> slave. If an executor doesn't specify cpus, what should the cpu limits be for 
> that executor when there are no tasks running on it? If no cpu limits are set 
> then it might starve other executors/tasks on the slave violating isolation 
> guarantees. Same goes with memory. Moreover, the current 
> containerizer/isolator code will throw failures when using such an executor, 
> e.g., when the last task on the executor finishes and Containerizer::update() 
> is called with 0 cpus or 0 mem.
> According to a source code [TODO | 
> https://github.com/apache/mesos/blob/0226620747e1769434a1a83da547bfc3470a9549/src/master/validation.cpp#L400]
>  this should also include checking whether requested resources are greater 
> than  MIN_CPUS/MIN_BYTES.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to