Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-9940

Framework removal may lead to inconsistent task states between master and agent.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • master
    • Foundations: RI-18 54

    Description

      When a framework is removed from the master (say due to disconnection), master sends a `ShutdownFrameworkMessage` to the agent. At the same time, master would transition the task status to e.g. KILLED. (https://github.com/apache/mesos/blob/master/src/master/master.cpp#L11247-L11291)

      When agent got the shutdown message, it would try to shutdown all the executor and destroy all the containers. The tasks' status is updated after all these are done. (https://github.com/apache/mesos/blob/master/src/slave/slave.cpp#L7914-L7922)

      However, if the executor shutdown gets stuck (e.g. due to hanging docker daemon), the task status transition will never happen. And master and agent will have diverged view of these tasks.

      One consequence is that masters may try to schedule more workloads onto the problematic agent (because it thinks those task resources are freed up). Since we do not have overcommit check on agent, agent will comply and launch those tasks. This will lead to over-allocation.

      One possible solution is to hold on the master status update until the agent is done with the framework shutdown.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mzhu Meng Zhu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: