Yan Xu created MESOS-903:
----------------------------
Summary: Store MasterInfo in ZK to enable master web UI
redirection etc.
Key: MESOS-903
URL: https://issues.apache.org/jira/browse/MESOS-903
Project: Mesos
Issue Type: Improvement
Reporter: Yan Xu
Assignee: Yan Xu
Fix For: 0.17.0
Storing a ProtoBuf MasterInfo in ZK allows us to add more fields other than the
PID to associate with the (leading) master so that other entities (e.g. the
follower masters) get more information such as the public hostname.
The current solution that BenH and I have worked out:
## Introduce Group::Membership::label for backwards compatibility.
- Group: use the sequence number for membership `id` and `label_` for storing
additional data. This way a ProtoBuf blob is never stored at the same path as a
regular PID so that the backwards compatibility issue (parsing a PID string as
ProtoBuf blob or vise versa) can be avoided.
- Group::Membership will include a label field. Group::join() writes
`label_sequence` as ZNode name: `info_sequence` stores MasterInfo and plain
`sequence` stores PID.
## Current version (v0: 0.16)
- Group operation ignores ZNodes whose names can't be parse into `int32`. So
that when a slave is rolled back and reads from ZK which has v1 data, it
ignores all the masters and stays idle.
## New version (v1: >= 0.17)
- Roll slaves first. New slaves can work with old ZK data.
- Master can be rolled back after slave roll.
See more: https://gist.github.com/xujyan/796d2e10b8fbddaf7979
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)