]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/MgrStatMonitor: ensure only one copy of initial service map
authorSage Weil <sage@redhat.com>
Thu, 21 Mar 2019 16:58:29 +0000 (11:58 -0500)
committerSage Weil <sage@redhat.com>
Thu, 21 Mar 2019 16:58:29 +0000 (11:58 -0500)
It's possible for create_pending to be called multiple times.

Fixes: http://tracker.ceph.com/issues/38839
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/MgrStatMonitor.cc

index a9c83c1f7fb0434ad0e824754df91a01f4994eb1..f88cdf823fb13e3ef98338977f53a5a5358f422d 100644 (file)
@@ -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();