I'd like to propose that we disable the --registry_strict master flag for Mesos 1.0.0.
- By default, when a partitioned agent tries to reregister, Mesos will kill the tasks and shutdown the agent ("kill semantics") if the master has NOT failed over. If the master has failed-over, it will NOT kill the tasks and will allow the agent to re-register ("no-kill semantics").
- If --registry_strict is enabled, Mesos will implement "kill" in both cases (master fail-over or not).
- In the future, we want Mesos to implement "no kill" behavior in both cases, as described further in
Hence, allowing Mesos installations to set --registry_strict moves them away from the future default behavior ("no-kill / no-kill") – i.e., if you assume "kill/kill" and write your framework accordingly, it will be harder to migrate to the new behavior described by
MESOS-4049. Since there are basically no circumstances in which we would recommend that someone set this flag to true, I think we should prevent users from enabling this behavior.
The proposed change (RR below) would change the master so that it will refuse to startup if the --registry_strict flag is specified.
All the code for the strict registry code path will be retained, so it will be easy to revert this change if we do find Mesos installations that depend on the current "kill/kill" semantics enabled by --registry_strict. However, a recent email to the user and dev lists did not result in anyone volunteering that they are using the strict registry. (This flag is also clearly documented as "experimental" and "not for production use".)