Neil Conway created MESOS-6660:

             Summary: Status updates and disconnected frameworks
                 Key: MESOS-6660
             Project: Mesos
          Issue Type: Improvement
          Components: master
            Reporter: Neil Conway

When the master receives a status update, it invokes {{Master::forward}} to 
send the status update to the framework. {{Master::forward}} also updates the 
task's {{status_update_state}} and {{status_update_uuid}} fields. However, 
{{Master::forward}} is not invoked for disconnected frameworks.

This scheme has the following drawbacks:

# Logically, {{Master::forward}} probably shouldn't be updating the state of a 
task; {{forward}} should just forward messages.
# The reasoning for not updating {{status_update_state}} and 
{{status_update_uuid}} for disconnected frameworks is to try to avoid 
inconsistencies upon framework reconciliation -- we don't want reconciliation 
to show update X, but then the framework to receive a non-reconciliation update 
Y, such that Y comes before X in the agent's order. I'm not sure that this is 
actually a problem (since we wait for framework acks before forwarding 
subsequent status updates), but in any case, depending on framework 
connectivity _cannot_ be a correct fix: whether the master thinks the framework 
is connected at a given time is unreliable and racy (i.e., the master might 
think the framework is disconnected but it still might receive messages; 
similarly, "connected" frameworks might not receive messages).

This message was sent by Atlassian JIRA

Reply via email to