You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "haosdent (JIRA)" <ji...@apache.org> on 2016/08/21 09:05:20 UTC
[jira] [Updated] (MESOS-6059) Allow clean up unknown container
during the clean up phase of the container
[ https://issues.apache.org/jira/browse/MESOS-6059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
haosdent updated MESOS-6059:
----------------------------
Description:
1. {{MesosContainerizer::prepare}} prepare the isolators sequentially. Suppose we failed in other isolators preparation and have not performed {{CgroupsIsolator::prepare}}. {{MesosContainerizer::destroy}} would be performed on those unsuccessful containers in Mesos Agent. And then those containers are unknown in {{CgroupsIsolator::destroy}}.
2. Suppose we start Mesos Agent with {{--isolation=cgroups/cpu,cgroups/mem}} and start some containers. And restart Mesos Agent with a new isolation flag {{--isolation=cgroups/cpu,cgroups/mem,cgroups/perf_event}}. Mesos Agent would recover those exists containers, only {{cpu}}, {{cpuacct}}, {{memory}} subsystems could recovered successfully. But when Mesos Agent perform {{CgroupsIsolator::destroy}} on those exist containers, it would try to clean up all known subsystems {{cpu}}, {{cpuacct}}, {{memory}}, {{perf_event}}. This is what the test case {{MesosContainerizerSlaveRecoveryTest.CGROUPS_ROOT_PERF_RollForward}} do exactly. So we need to ignore clean up unknown container in {{Subsystem}} level as well.
> Allow clean up unknown container during the clean up phase of the container
> ---------------------------------------------------------------------------
>
> Key: MESOS-6059
> URL: https://issues.apache.org/jira/browse/MESOS-6059
> Project: Mesos
> Issue Type: Bug
> Reporter: haosdent
> Assignee: haosdent
>
> 1. {{MesosContainerizer::prepare}} prepare the isolators sequentially. Suppose we failed in other isolators preparation and have not performed {{CgroupsIsolator::prepare}}. {{MesosContainerizer::destroy}} would be performed on those unsuccessful containers in Mesos Agent. And then those containers are unknown in {{CgroupsIsolator::destroy}}.
> 2. Suppose we start Mesos Agent with {{--isolation=cgroups/cpu,cgroups/mem}} and start some containers. And restart Mesos Agent with a new isolation flag {{--isolation=cgroups/cpu,cgroups/mem,cgroups/perf_event}}. Mesos Agent would recover those exists containers, only {{cpu}}, {{cpuacct}}, {{memory}} subsystems could recovered successfully. But when Mesos Agent perform {{CgroupsIsolator::destroy}} on those exist containers, it would try to clean up all known subsystems {{cpu}}, {{cpuacct}}, {{memory}}, {{perf_event}}. This is what the test case {{MesosContainerizerSlaveRecoveryTest.CGROUPS_ROOT_PERF_RollForward}} do exactly. So we need to ignore clean up unknown container in {{Subsystem}} level as well.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)