From 67fd4218d306c0d2c8f0a855a2e5bf18fa1d659e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 5 Apr 2014 16:58:55 -0700 Subject: [PATCH] mon: wait for quorum for MMonGetVersion We should not respond to checks for map versions when we are in the probing or electing states or else clients will get incorrect results when they ask what the latest map version is. Fixes: #7997 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 c767a89d7a19..7e29e14cd2f5 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -3493,6 +3493,12 @@ void Monitor::handle_get_version(MMonGetVersion *m) return; } + if (!is_leader() && !is_peon()) { + dout(10) << " waiting for quorum" << dendl; + waitfor_quorum.push_back(new C_RetryMessage(this, m)); + return; + } + MMonGetVersionReply *reply = new MMonGetVersionReply(); reply->handle = m->handle; if (m->what == "mdsmap") { -- 2.47.3