From: Sage Weil Date: Thu, 21 Mar 2019 16:58:29 +0000 (-0500) Subject: mon/MgrStatMonitor: ensure only one copy of initial service map X-Git-Tag: v15.0.0~142^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F27101%2Fhead;p=ceph.git mon/MgrStatMonitor: ensure only one copy of initial service map It's possible for create_pending to be called multiple times. Fixes: http://tracker.ceph.com/issues/38839 Signed-off-by: Sage Weil --- diff --git a/src/mon/MgrStatMonitor.cc b/src/mon/MgrStatMonitor.cc index a9c83c1f7fb0..f88cdf823fb1 100644 --- a/src/mon/MgrStatMonitor.cc +++ b/src/mon/MgrStatMonitor.cc @@ -34,6 +34,7 @@ void MgrStatMonitor::create_initial() dout(10) << __func__ << dendl; version = 0; service_map.epoch = 1; + pending_service_map_bl.clear(); encode(service_map, pending_service_map_bl, CEPH_FEATURES_ALL); } @@ -59,7 +60,8 @@ void MgrStatMonitor::update_from_paxos(bool *need_bootstrap) << dendl; } catch (buffer::error& e) { - derr << "failed to decode mgrstat state; luminous dev version?" << dendl; + derr << "failed to decode mgrstat state; luminous dev version? " + << e.what() << dendl; } } check_subs();