From: Sage Weil Date: Wed, 24 Feb 2021 21:20:18 +0000 (-0500) Subject: mon/KVMonitor: fix 'osd new' cross-service commit X-Git-Tag: v17.1.0~2846^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F39676%2Fhead;p=ceph.git mon/KVMonitor: fix 'osd new' cross-service commit When we converted ConfigKeyService to KVMonitor, we didn't correctly change this to propose_pending(), which mean that the kv change wasn't captured in the paxos transaction. Fixes: bb7ebc41532aeb23cff2241ab07b3f01c2f57ddd Fixes: https://tracker.ceph.com/issues/49460 Signed-off-by: Sage Weil --- diff --git a/src/mon/KVMonitor.cc b/src/mon/KVMonitor.cc index 5977e296c956..699cbe417039 100644 --- a/src/mon/KVMonitor.cc +++ b/src/mon/KVMonitor.cc @@ -376,7 +376,7 @@ void KVMonitor::do_osd_destroy(int32_t id, uuid_d& uuid) pending[iter->key()] = boost::none; } - paxos.trigger_propose(); + propose_pending(); } int KVMonitor::validate_osd_new( @@ -417,6 +417,8 @@ void KVMonitor::do_osd_new( dmcrypt_key_value.append(dmcrypt_key); pending[dmcrypt_key_prefix] = dmcrypt_key_value; + + propose_pending(); }