You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Ian Downes (JIRA)" <ji...@apache.org> on 2015/12/04 20:03:11 UTC

[jira] [Commented] (MESOS-1718) Command executor can overcommit the slave.

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

Ian Downes commented on MESOS-1718:
-----------------------------------

To expand on [~vinod@twitter.com]'s comment earlier with some thoughts. The master could choose the command line executor, and choose resources for it, without knowing the actual path, this would be completed by the slave at runtime. This just requires the assumption that the slave always has a command executor available and that it knows its location (which could be different for different slaves) to be true. This would consolidate much of the logic and properly account for the command executor's resource usage at the master, rather than hacks at the slave.

> Command executor can overcommit the slave.
> ------------------------------------------
>
>                 Key: MESOS-1718
>                 URL: https://issues.apache.org/jira/browse/MESOS-1718
>             Project: Mesos
>          Issue Type: Bug
>          Components: slave
>            Reporter: Benjamin Mahler
>            Assignee: Ian Downes
>
> Currently we give a small amount of resources to the command executor, in addition to resources used by the command task:
> https://github.com/apache/mesos/blob/0.20.0-rc1/src/slave/slave.cpp#L2448
> {code: title=}
> ExecutorInfo Slave::getExecutorInfo(
>     const FrameworkID& frameworkId,
>     const TaskInfo& task)
> {
>   ...
>     // Add an allowance for the command executor. This does lead to a
>     // small overcommit of resources.
>     executor.mutable_resources()->MergeFrom(
>         Resources::parse(
>           "cpus:" + stringify(DEFAULT_EXECUTOR_CPUS) + ";" +
>           "mem:" + stringify(DEFAULT_EXECUTOR_MEM.megabytes())).get());
>   ...
> }
> {code}
> This leads to an overcommit of the slave. Ideally, for command tasks we can "transfer" all of the task resources to the executor at the slave / isolation level.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)