[ https://issues.apache.org/jira/browse/MESOS-7865?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Mahler updated MESOS-7865: ----------------------------------- Priority: Critical (was: Blocker) > Agent may process a kill task and still launch the task. > -------------------------------------------------------- > > Key: MESOS-7865 > URL: https://issues.apache.org/jira/browse/MESOS-7865 > Project: Mesos > Issue Type: Bug > Components: agent > Reporter: Benjamin Mahler > Assignee: Benjamin Mahler > Priority: Critical > > Based on the investigation of MESOS-7744, the agent has a race in which > "queued" tasks can still be launched after the agent has processed a kill > task for them. This race was introduced when {{Slave::statusUpdate}} was made > asynchronous: > (1) {{Slave::__run}} completes, task is now within {{Executor::queuedTasks}} > (2) {{Slave::killTask}} locates the executor based on the task ID residing in > queuedTasks, calls {{Slave::statusUpdate()}} with {{TASK_KILLED}} > (3) {{Slave::___run}} assumes that killed tasks have been removed from > {{Executor::queuedTasks}}, but this now occurs asynchronously in > {{Slave::_statusUpdate}}. So, the executor still sees the queued task and > delivers it and adds the task to {{Executor::launchedTasks}}. > (3) {{Slave::_statusUpdate}} runs, removes the task from > {{Executor::launchedTasks}} and adds it to {{Executor::terminatedTasks}}. -- This message was sent by Atlassian JIRA (v6.4.14#64029)