Benjamin Bannier created MESOS-8058:
---------------------------------------

             Summary: Agent and master can race when updating agent state
                 Key: MESOS-8058
                 URL: https://issues.apache.org/jira/browse/MESOS-8058
             Project: Mesos
          Issue Type: Bug
          Components: agent
    Affects Versions: 1.5.0
            Reporter: Benjamin Bannier
            Assignee: Benjamin Bannier
            Priority: Critical


In {{2af9a5b07dc80151154264e974d03f56a1c25838}} we introduce the use of 
{{UpdateSlaveMessage}} for the agent to inform the master about its current 
total resources. Currently we trigger this message only on agent registration 
and reregistration.

This can race with operations applied in the master and communicated via 
{{CheckpointResourcesMessage}}.

Example:

1. Agent ({{cpus:4(\*)}} registers.
2. Master is triggered to apply an operation to the agent's resources, e.g., a 
reservation: {{cpus:4(\*) -> cpus:4(A)}}. The master applies the operation to 
its current view of the agent's resources and sends the agent a 
{{CheckpointResourcesMessage}} so the agent can persist the result.
3. The agent send the master an {{UpdateSlaveMessage}}, e.g., {{cpus:4(\*)}} 
since it hasn't received the {{CheckpointResourcesMessage}} yet.
4. The master processes the {{UpdateSlaveMessage}} and updates its view of the 
agent's resources to be {{cpus:4(\*)}}.
5. The agent processes the {{CheckpointResourcesMessage}} and updates its view 
of its resources to be {{cpus:4(A)}}.
6. The agent and the master have an inconsistent view of the agent's resources.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to