]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/MgrStatMonitor: ensure only one copy of initial service map 27207/head
authorSage Weil <sage@redhat.com>
Thu, 21 Mar 2019 16:58:29 +0000 (11:58 -0500)
committerPrashant D <pdhange@redhat.com>
Wed, 27 Mar 2019 01:17:08 +0000 (21:17 -0400)
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>
(cherry picked from commit 204a8deacd2068989bd52eb130f4aac434b45f35)

Conflicts:
src/mon/MgrStatMonitor.cc : Resolved in create_initial

src/mon/MgrStatMonitor.cc

index b79884b7d3ac196ec5e187d660447de62d62a6bd..0773fd114973cf1affe60eef4833675ed517a874 100644 (file)
@@ -75,6 +75,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);
 }
 
@@ -95,7 +96,8 @@ void MgrStatMonitor::update_from_paxos(bool *need_bootstrap)
               << " service_map e" << service_map.epoch << 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();