You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Meng Zhu (JIRA)" <ji...@apache.org> on 2018/04/25 19:30:00 UTC

[jira] [Created] (MESOS-8840) `cpu.cfs_quota_us` will be accidentally set for command task using docker during agent recovery.

Meng Zhu created MESOS-8840:
-------------------------------

             Summary: `cpu.cfs_quota_us` will be accidentally set for command task using docker during agent recovery.
                 Key: MESOS-8840
                 URL: https://issues.apache.org/jira/browse/MESOS-8840
             Project: Mesos
          Issue Type: Bug
          Components: containerization
    Affects Versions: 1.2.3, 1.2.2, 1.2.1, 1.2.0
            Reporter: Meng Zhu


Prior to Mesos 1.3, docker containerizer does not honor the flag `–cgroups_enable_cfs` for command task when creating the container, a patch ported this flag to docker command executor only up to 1.3 (MESOS-6134) 

However, docker containerizer honors the flag when updating containers:

https://github.com/apache/mesos/blob/7559c9352c78912526820f6222ed2b17ad3b19cf/src/slave/containerizer/docker.cpp#L1726

For non-command tasks, docker containerizer always `update` the resources during launch:

https://github.com/apache/mesos/blob/7559c9352c78912526820f6222ed2b17ad3b19cf/src/slave/containerizer/docker.cpp#L1325-L1330

For command tasks, it is not the case:

https://github.com/apache/mesos/blob/7559c9352c78912526820f6222ed2b17ad3b19cf/src/slave/containerizer/docker.cpp#L1271-L1277

However, when recovering the executor, `update` is called for both command and non-command tasks.

This means, for command task, the cpu cgroup cfs settings would change when a command executor is recovered. Specifically, recovered command executors will have cfs set while all other command executors will not. This may lead to a drastic change in the container resource usage depending on the system load.




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)