From 141798c4665b01392c81ff8e2e8a1463c9562c2b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 28 May 2018 13:50:48 -0500 Subject: [PATCH] mon/Monitor: use legacy ranks during bootstrap for initial seed monmap We get various fabricated monmaps with epoch 0 to get things started. Use the legacy rank order so that we have a well-defined ordering and mon ranks do not collide. Signed-off-by: Sage Weil --- src/mon/Monitor.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 2a8df86004e..5b7a18bd20d 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -1005,6 +1005,12 @@ void Monitor::bootstrap() unregister_cluster_logger(); cancel_probe_timeout(); + if (monmap->get_epoch() == 0) { + dout(10) << "reverting to legacy ranks for seed monmap (epoch 0)" << dendl; + monmap->calc_legacy_ranks(); + } + dout(10) << "monmap " << *monmap << dendl; + // note my rank int newrank = monmap->get_rank(messenger->get_myaddr()); if (newrank < 0 && rank >= 0) { -- 2.39.5