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
- causes
-
MESOS-9745 Re-enable validation of protobuf unions in `ContainerInfo`
- Open
- is caused by
-
MESOS-6874 Agent silently ignores FS isolation when protobuf is malformed
- Resolved