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

Change reconciliation to return results for in-progress removals and reregistrations

    XMLWordPrintableJSON

Details

    Description

      The master does not return any reconciliation results for agents it views as "transitioning". An agent is defined as transitioning if any of the following are true:

      1. The master recovered from the registry after failover but the agent has not yet reregistered
      2. The master is in the process of removing an admitted agent from the registry
      3. The master is in the process of re-registering an agent (i.e., re-adding it to the list of admitted agents).

      I think case #1 makes sense but cases #2 and #3 do not. Before the registry operation completes, we should instead view the slave as still being in its previous state ("admitted" for case 2 and not-admitted/unreachable/etc. for case 3).

      Reasons to make this change:
      1. Improve consistency with output of endpoints, etc.: until the registry operation to remove/re-admit a slave finishes, we show the previous state of the slave in the HTTP endpoints. Returning reconciliation results that are consistent with HTTP endpoint values is sensible.
      2. It is simpler. Rather than not sending anything to frameworks and requiring that they ask us again later, it is simpler to just send the current state of the agent. If that state changes (whether due to the registry operation succeeding or a subsequent state change), then the reconciliation results might be stale – so be it. Such stale information fundamentally cannot be avoided.

      Attachments

        Activity

          People

            neilc Neil Conway
            neilc Neil Conway
            Vinod Kone Vinod Kone
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: