diff options
author | Sage Weil <sage.weil@dreamhost.com> | 2011-11-07 22:46:09 -0800 |
---|---|---|
committer | Sage Weil <sage.weil@dreamhost.com> | 2011-11-07 22:46:09 -0800 |
commit | 2523b70ee174a0a172a018966bf7c7565e1c2614 (patch) | |
tree | 9daf4342fc41fd29fd6a4b4553ce3a24f090dbca /src/msg/Message.h | |
parent | 100fba8ecbe931ae4184c4ea414e5cbd08295a2f (diff) | |
download | ceph-2523b70ee174a0a172a018966bf7c7565e1c2614.tar.gz |
mon: slurp latest state from active monitors before joining quorum
If a monitor has been down and is behind, and joins the quorum, the
other nodes will try to send it all of the needed state, which can
bring the cluster to a halt.
Instead, implement a new bootstrap() procedure:
- probe the cluster nodes
- if there is an existing quorum,
- and it is not too far ahead of me, join it (call an election)
- otherwise, slurp down all the newer state and then restart (bootstrap)
- if we see enough online nodes that are not part of the quorum, call
an election.
We still need to add some timeouts.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Diffstat (limited to 'src/msg/Message.h')
-rw-r--r-- | src/msg/Message.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/msg/Message.h b/src/msg/Message.h index 2a93bc3a1a9..60c122e20fa 100644 --- a/src/msg/Message.h +++ b/src/msg/Message.h @@ -22,6 +22,7 @@ // monitor internal #define MSG_MON_ELECTION 65 #define MSG_MON_PAXOS 66 +#define MSG_MON_PROBE 67 /* monitor <-> mon admin tool */ #define MSG_MON_COMMAND 50 |