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)

Reply via email to