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)

Reply via email to