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

Invalid protobuf unions in ExecutorInfo::ContainerInfo will prevent agents from reregistering with 1.8+ masters

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 1.8.0
    • None
    • None
    • Mesos Foundations: RI13 Sp 45
    • 3

    Description

      As part of MESOS-6874, the master now validates protobuf unions passed as part of an ExecutorInfo::ContainerInfo. This prevents a task from specifying, for example, a ContainerInfo::MESOS, but filling out the docker field (which is then ignored by the agent).

      However, if a task was already launched with an invalid protobuf union, the same validation will happen when the agent tries to reregister with the master. In this case, if the master is upgraded to validate protobuf unions, the agent reregistration will be rejected.

      master.cpp:7201] Dropping re-registration of agent at slave(1)@172.31.47.126:5051 because it sent an invalid re-registration: Protobuf union `mesos.ContainerInfo` with `Type == MESOS` should not have the field `docker` set.
      

      This bug was found when upgrading a 1.7.x test cluster to 1.8.0. When MESOS-6874 was committed, I had assumed the invalid protobufs would be rare. However, on the test cluster, 13/17 agents had at least one invalid ContainerInfo when reregistering.

      Attachments

        Issue Links

          Activity

            People

              bennoe Benno Evers
              kaysoky Joseph Wu
              Greg Mann Greg Mann
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: