Jie Yu created MESOS-8081:
-----------------------------
Summary: Race between containerizer->update and terminal status
update.
Key: MESOS-8081
URL: https://issues.apache.org/jira/browse/MESOS-8081
Project: Mesos
Issue Type: Bug
Affects Versions: 1.4.0, 1.3.1, 1.2.2, 1.1.3
Reporter: Jie Yu
It is possible that a terminal status update (e.g., TASK_FINISHED) is sent to
the master (`latest_state` is set to TASK_FINISHED) while
`containerizer->update` is still in progress. This will cause master to release
the resources to other frameworks, while the resources is not released yet on
the agent.
Consider the following sequence:
1) A running executor sends TASK_RUNNING, and gets an ack
2) TASK_RUNNING is received by StatusUpdateManager
3) Framework hasn't acked the TASK_RUNNING yet
4) The executor sends TASK_FINISHED
5) TASK_FINISHED is terminal, thus we call contianerizer->update to release the
resources
6) StatusUpdateManager generates a retry on TASK_RUNNING because it's not ack'ed
7) TASK_RUNNING will attach the latest state which is TASK_FINISHED
8) Master release the resources associated with the task while
contianerizer->update is still in progress
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)