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

[jira] [Created] (MESOS-8467) Destroyed executors might be used after `Slave::publishResource()`.

Chun-Hung Hsiao created MESOS-8467:
--------------------------------------

             Summary: Destroyed executors might be used after `Slave::publishResource()`.
                 Key: MESOS-8467
                 URL: https://issues.apache.org/jira/browse/MESOS-8467
             Project: Mesos
          Issue Type: Bug
    Affects Versions: 1.5.0
            Reporter: Chun-Hung Hsiao
            Assignee: Chun-Hung Hsiao


In the following code from [https://github.com/apache/mesos/blob/7b30b9ccd63dbcd3375e012dae6e2ffb9dc6a79f/src/slave/slave.cpp#L2652:]
{code:cpp}
publishResources()
  .then(defer(self(), [=] {
    return containerizer->update(
        executor->containerId,
        executor->allocatedResources());
  }))
{code}
A destroyed executor might be dereferenced if it has been move to {{Framework.completedExecutors}} and kicked out from this circular buffer. We should refactor {{Slave::publishResources()}} and its uses to make the code less fragile.



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