summaryrefslogtreecommitdiff
path: root/src/msg/Message.h
diff options
context:
space:
mode:
authorSage Weil <sage.weil@dreamhost.com>2011-11-07 22:46:09 -0800
committerSage Weil <sage.weil@dreamhost.com>2011-11-07 22:46:09 -0800
commit2523b70ee174a0a172a018966bf7c7565e1c2614 (patch)
tree9daf4342fc41fd29fd6a4b4553ce3a24f090dbca /src/msg/Message.h
parent100fba8ecbe931ae4184c4ea414e5cbd08295a2f (diff)
downloadceph-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.h1
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