From: Joao Eduardo Luis Date: Tue, 16 Jul 2013 15:45:39 +0000 (+0100) Subject: mon: Monitor: do not reopen MonitorDBStore during conversion X-Git-Tag: v0.67-rc1~70 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=036e6739a4e873863bae3d7d00f310c015dfcdb3;p=ceph.git mon: Monitor: do not reopen MonitorDBStore during conversion We already open the store on ceph_mon.cc, before we start the conversion. Given we are unable to reproduce this every time a conversion is triggered, we are led to believe that this causes a race in leveldb that will lead to 'store.db/LOCK' being locked upon the open this patch removes. Regardless, reopening the db here is pointless as we already did it when we reach Monitor::StoreConverter::convert(). Fixes: #5640 Backport: cuttlefish Signed-off-by: Joao Eduardo Luis Reviewed-by: Sage Weil --- diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 1282cb359cac..5cba9d4f80a6 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -3851,7 +3851,6 @@ out: int Monitor::StoreConverter::convert() { _init(); - assert(!db->create_and_open(std::cerr)); assert(!store->mount()); if (db->exists("mon_convert", "on_going")) { dout(0) << __func__ << " found a mon store in mid-convertion; abort!"