]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/KVMonitor: fix 'osd new' cross-service commit 39595/head
authorSage Weil <sage@newdream.net>
Wed, 24 Feb 2021 21:20:18 +0000 (16:20 -0500)
committerSage Weil <sage@newdream.net>
Thu, 25 Feb 2021 18:32:53 +0000 (12:32 -0600)
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 <sage@newdream.net>
(cherry picked from commit 66891b4845fbf119cacb2c77d39180e28c6626d5)

src/mon/KVMonitor.cc

index 5977e296c9567ffb70472927103d4eb0fad7bcee..699cbe4170395123fee738981bae91922bb41bd9 100644 (file)
@@ -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();
 }