From: John Spray Date: Wed, 5 Apr 2017 23:58:36 +0000 (-0400) Subject: mgr: get fresh maps on second load of Mgr X-Git-Tag: v12.0.3~159^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e7060410f720f792b97d3fd5392cec89ab67c249;p=ceph.git mgr: get fresh maps on second load of Mgr I think we got away with this when Client::init was re-initialising the MonClient, but now that (bogus) stuff isn't happening any more as Client doesn't init/teardown monc/objecter itself. Signed-off-by: John Spray --- diff --git a/src/mgr/Mgr.cc b/src/mgr/Mgr.cc index f507a3526663..a6f26cbcb867 100644 --- a/src/mgr/Mgr.cc +++ b/src/mgr/Mgr.cc @@ -359,12 +359,16 @@ void Mgr::shutdown() Mutex::Locker l(lock); finisher.queue(new FunctionContext([&](int) { + monc->sub_unwant("log-info"); + monc->sub_unwant("mgrdigest"); + monc->sub_unwant("fsmap"); // First stop the server so that we're not taking any more incoming // requests server.shutdown(); // after the messenger is stopped, signal modules to shutdown via finisher py_modules.shutdown(); })); + // Then stop the finisher to ensure its enqueued contexts aren't going // to touch references to the things we're about to tear down finisher.wait_for_empty();