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

Agent may process a kill task and still launch the task.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 1.1.3, 1.2.3, 1.3.2, 1.4.0
    • agent
    • None
    • Mesosphere Sprint 61, Mesosphere Sprint 62
    • 3

    Description

      Based on the investigation of MESOS-7744, the agent has a race in which "queued" tasks can still be launched after the agent has processed a kill task for them. This race was introduced when Slave::statusUpdate was made asynchronous:

      (1) Slave::__run completes, task is now within Executor::queuedTasks
      (2) Slave::killTask locates the executor based on the task ID residing in queuedTasks, calls Slave::statusUpdate() with TASK_KILLED
      (3) Slave::___run assumes that killed tasks have been removed from Executor::queuedTasks, but this now occurs asynchronously in Slave::_statusUpdate. So, the executor still sees the queued task and delivers it and adds the task to Executor::launchedTasks.
      (3) Slave::_statusUpdate runs, removes the task from Executor::launchedTasks and adds it to Executor::terminatedTasks.

      Attachments

        Issue Links

          Activity

            People

              bmahler Benjamin Mahler
              bmahler Benjamin Mahler
              Vinod Kone Vinod Kone
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: