[
https://issues.apache.org/jira/browse/MESOS-7865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16139345#comment-16139345
]
Benjamin Mahler commented on MESOS-7865:
----------------------------------------
[~karya] marking this fixed in 1.4.1 since there is a 1.4.0 vote out, please
update this to 1.4.0 here and in the CHANGELOG if the next RC picks this up for
1.4.0.
> 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
> Fix For: 1.1.3, 1.2.3, 1.3.2, 1.5.0, 1.4.1
>
>
> 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)