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

[jira] [Updated] (MESOS-8465) Resource usage calculation in docker containerizer can race with container destruction

     [ https://issues.apache.org/jira/browse/MESOS-8465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benjamin Bannier updated MESOS-8465:
------------------------------------
    Description: 
The implementation of {{DockerContainerizerProcess::usage}} checks on the top-level whether the container is in {{DESTROYING}} state and returns a failure in that case. It then possibly triggers compuation of the container pid, and {{defers}} calculating the usage on that pid. The defered calculation only makes sure that the container is not already destroyed.

If a user triggers first requests the usage and then triggers container destruction, {{usage}} could find the container not in {{DESTROYING}} state and would then {{defer}} the usage computation. If the {{destroy}} is processed not it would trigger the actual killing of the container and mark the container as {{DESTROYING}}. If the container is not destroyed the deferred usage calculation could then pick up results not corresponding to the container anymore.

  was:
The implementation of {{DockerContainerizerProcess::usage}} checks on the top-level whether the container is in {{DESTROYING}} state and returns a failure in that case. It then possibly triggers compuation of the container pid, and {{defers}} calculating the usage on that pid. The defered calculation only makes sure that the container is not already destroyed.

If a user triggers first requests the usage and then triggers container destruction, {{usage}} could find the container not in {{DESTROYING}} state and would then {{defer}} the usage computation. If the {{destroy}} is processed not it would trigger the actual killing of the container and mark the container as {{DESTROYING}}. If the container is not destroyed when the deferred usage calculation could then pick up results not corresponding to the container anymore.


> Resource usage calculation in docker containerizer can race with container destruction
> --------------------------------------------------------------------------------------
>
>                 Key: MESOS-8465
>                 URL: https://issues.apache.org/jira/browse/MESOS-8465
>             Project: Mesos
>          Issue Type: Bug
>          Components: containerization, docker
>    Affects Versions: 1.5.0
>            Reporter: Benjamin Bannier
>            Priority: Major
>
> The implementation of {{DockerContainerizerProcess::usage}} checks on the top-level whether the container is in {{DESTROYING}} state and returns a failure in that case. It then possibly triggers compuation of the container pid, and {{defers}} calculating the usage on that pid. The defered calculation only makes sure that the container is not already destroyed.
> If a user triggers first requests the usage and then triggers container destruction, {{usage}} could find the container not in {{DESTROYING}} state and would then {{defer}} the usage computation. If the {{destroy}} is processed not it would trigger the actual killing of the container and mark the container as {{DESTROYING}}. If the container is not destroyed the deferred usage calculation could then pick up results not corresponding to the container anymore.



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