]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: use wait_for_commit to reply
authorPatrick Donnelly <pdonnell@redhat.com>
Thu, 13 Jul 2023 16:29:25 +0000 (12:29 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 21 Jul 2023 14:09:07 +0000 (10:09 -0400)
Once PaxosService::refresh is called, the commit is final and will not
be rolled back. We should immediately send out any replies depending on
that event. This avoids a problem where PaxosService::update_from_paxos
indicates the mons need to re-bootstrap (because of a monmap change) and
these pending reply contexts are dropped in PaxosService::restart.

The cherry on top for this change is that mon commands enjoy a shorter
RTT latency as replies are sent out faster. Using the new
bench_commit.py script:

main branch:
        min/max/mean/stddev: 0.015813/0.613919/0.031615/0.024087
        min/max/mean/stddev: 0.015737/0.255008/0.031492/0.017930
        min/max/mean/stddev: 0.014242/0.205763/0.031969/0.018022
        min/max/mean/stddev: 0.014172/0.270256/0.032070/0.021079
        min/max/mean/stddev: 0.017767/0.471187/0.032751/0.025317

this commit:
        min/max/mean/stddev: 0.010476/0.158475/0.026324/0.013662
        min/max/mean/stddev: 0.016866/0.099403/0.027938/0.010508
        min/max/mean/stddev: 0.014013/0.127512/0.026847/0.010340
        min/max/mean/stddev: 0.013098/0.172725/0.028979/0.012998
        min/max/mean/stddev: 0.016934/0.292218/0.029252/0.014904

About a 10-20% reduction in latency.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mon/AuthMonitor.cc
src/mon/ConfigMonitor.cc
src/mon/HealthMonitor.cc
src/mon/KVMonitor.cc
src/mon/LogMonitor.cc
src/mon/MDSMonitor.cc
src/mon/MgrMonitor.cc
src/mon/OSDMonitor.cc

index 8cb6789394b36dd08cc8aa99f250f14f47cbeb1f..a7ee78dfd5152e98b191fc39ac7fedbc7cc4d2b3 100644 (file)
@@ -1447,7 +1447,7 @@ bool AuthMonitor::prepare_command(MonOpRequestRef op)
       return true;
     }
     err = 0;
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "auth add" && !entity_name.empty()) {
@@ -1480,7 +1480,7 @@ bool AuthMonitor::prepare_command(MonOpRequestRef op)
 
     // are we about to have it?
     if (entity_is_pending(entity)) {
-      wait_for_finished_proposal(op,
+      wait_for_commit(op,
           new Monitor::C_Command(mon, op, 0, rs, get_last_committed() + 1));
       return true;
     }
@@ -1532,7 +1532,7 @@ bool AuthMonitor::prepare_command(MonOpRequestRef op)
 
     ss << "added key for " << auth_inc.name;
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                   get_last_committed() + 1));
     return true;
   } else if ((prefix == "auth get-or-create-pending" ||
@@ -1559,7 +1559,7 @@ bool AuthMonitor::prepare_command(MonOpRequestRef op)
        decode(auth_inc, q);
        if (auth_inc.op == KeyServerData::AUTH_INC_ADD &&
            auth_inc.name == entity) {
-         wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+         wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                get_last_committed() + 1));
          return true;
        }
@@ -1616,7 +1616,7 @@ bool AuthMonitor::prepare_command(MonOpRequestRef op)
       auth_inc.auth.pending_key.clear();
       push_cephx_inc(auth_inc);
     }
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs, rdata,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs, rdata,
                                              get_last_committed() + 1));
     return true;
   } else if ((prefix == "auth get-or-create-key" ||
@@ -1666,7 +1666,7 @@ bool AuthMonitor::prepare_command(MonOpRequestRef op)
        decode(auth_inc, q);
        if (auth_inc.op == KeyServerData::AUTH_INC_ADD &&
            auth_inc.name == entity) {
-         wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+         wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                get_last_committed() + 1));
          return true;
        }
@@ -1695,7 +1695,7 @@ bool AuthMonitor::prepare_command(MonOpRequestRef op)
 
     rdata.append(ds);
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs, rdata,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs, rdata,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "fs authorize") {
@@ -1831,7 +1831,7 @@ bool AuthMonitor::prepare_command(MonOpRequestRef op)
     auth_inc.op = KeyServerData::AUTH_INC_DEL;
     push_cephx_inc(auth_inc);
 
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   }
@@ -1942,7 +1942,7 @@ int AuthMonitor::_update_or_create_entity(const EntityName& entity,
 
   string rs;
   getline(ss, rs);
-  wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+  wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                             *rdata, get_last_committed() + 1));
   return 0;
 }
index e24ccbc1803d1abfce0886bd025f48608e469b43..cbcedc007e93f864d68c87c4b19132c9589b5e87 100644 (file)
@@ -736,7 +736,7 @@ update:
   mon.kvmon()->propose_pending();
   paxos.unplug();
   force_immediate_propose();
-  wait_for_finished_proposal(
+  wait_for_commit(
     op,
     new Monitor::C_Command(
       mon, op, 0, ss.str(), odata,
index 6eed2b0f05bc35d1b5406e1b41960505fb433f9c..2a21b99111a515654772cda2cf1f27c48a6acce6 100644 (file)
@@ -356,7 +356,7 @@ out:
 
   if (r >= 0) {
     // success.. delay reply
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, r, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, r, rs,
                                              get_last_committed() + 1));
     return true;
   } else {
index 37a81a8048d4eb9151b53de100af5c2bd88cac00..5a03cf612740518f910c35195e4260a908f33166 100644 (file)
@@ -320,7 +320,7 @@ update:
     goto reply;
   }
   force_immediate_propose();  // faster response
-  wait_for_finished_proposal(
+  wait_for_commit(
     op,
     new Monitor::C_Command(
       mon, op, 0, ss.str(), odata,
index 38e5971762b190b86f02dbf89578ed2867436c5c..ad18a3aa1d1ea885e832878e5ead46d5d10ec89e 100644 (file)
@@ -744,7 +744,7 @@ bool LogMonitor::prepare_log(MonOpRequestRef op)
       pending_log.insert(pair<utime_t,LogEntry>(p->stamp, *p));
     }
   }
-  wait_for_finished_proposal(op, new C_Log(this, op));
+  wait_for_commit(op, new C_Log(this, op));
   return true;
 }
 
@@ -1040,7 +1040,7 @@ bool LogMonitor::prepare_command(MonOpRequestRef op)
     le.msg = str_join(logtext, " ");
     pending_keys.insert(le.key());
     pending_log.insert(pair<utime_t,LogEntry>(le.stamp, le));
-    wait_for_finished_proposal(op, new Monitor::C_Command(
+    wait_for_commit(op, new Monitor::C_Command(
           mon, op, 0, string(), get_last_committed() + 1));
     return true;
   }
index defd8ecd85f8e5dee2d6c375c91bfdbfce58cf17..a71290d3f033a0ee2b1dc32bcbb583dc6877da0b 100644 (file)
@@ -1445,7 +1445,7 @@ out:
 
   if (r >= 0) {
     // success.. delay reply
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, r, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, r, rs,
                                              get_last_committed() + 1));
     return true;
   } else {
index 958bf669140cf5444fd6a94de53f7712afcf3b83..74445a2ce83d9fc37c01fa86e3065c682496e646 100644 (file)
@@ -1321,7 +1321,7 @@ out:
 
   if (r >= 0) {
     // success.. delay reply
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, r, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, r, rs,
                                              get_last_committed() + 1));
   } else {
     // reply immediately
index 4ad44d0309d5c960e0912b2d09b19fa2f837b368..3701ad9649ca037b725fef8b1c51f138dcaecfda 100644 (file)
@@ -3076,7 +3076,7 @@ bool OSDMonitor::prepare_mark_me_dead(MonOpRequestRef op)
     pending_inc.new_xinfo[target_osd] = osdmap.osd_xinfo[target_osd];
   }
   pending_inc.new_xinfo[target_osd].dead_epoch = m->get_epoch();
-  wait_for_finished_proposal(
+  wait_for_commit(
     op,
     new LambdaContext(
       [op, this] (int r) {
@@ -4299,7 +4299,7 @@ bool OSDMonitor::prepare_remove_snaps(MonOpRequestRef op)
   if (HAVE_FEATURE(m->get_connection()->get_features(), SERVER_OCTOPUS)) {
     auto reply = make_message<MRemoveSnaps>();
     reply->snaps = m->snaps;
-    wait_for_finished_proposal(op, new C_ReplyOp(this, op, reply));
+    wait_for_commit(op, new C_ReplyOp(this, op, reply));
   }
 
   return true;
@@ -8234,7 +8234,7 @@ bool OSDMonitor::prepare_set_flag(MonOpRequestRef op, int flag)
     pending_inc.new_flags = osdmap.get_flags();
   pending_inc.new_flags |= flag;
   ss << OSDMap::get_flag_string(flag) << " is set";
-  wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, ss.str(),
+  wait_for_commit(op, new Monitor::C_Command(mon, op, 0, ss.str(),
                                                    get_last_committed() + 1));
   return true;
 }
@@ -8247,7 +8247,7 @@ bool OSDMonitor::prepare_unset_flag(MonOpRequestRef op, int flag)
     pending_inc.new_flags = osdmap.get_flags();
   pending_inc.new_flags &= ~flag;
   ss << OSDMap::get_flag_string(flag) << " is unset";
-  wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, ss.str(),
+  wait_for_commit(op, new Monitor::C_Command(mon, op, 0, ss.str(),
                                                    get_last_committed() + 1));
   return true;
 }
@@ -10103,7 +10103,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     }
     pending_inc.crush.clear();
     newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd crush set-device-class") {
@@ -10181,7 +10181,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     ss << "set osd(s) " << updated << " to class '" << device_class << "'";
     getline(ss, rs);
-    wait_for_finished_proposal(
+    wait_for_commit(
       op,
       new Monitor::C_Command(mon,op, 0, rs, get_last_committed() + 1));
     return true;
@@ -10240,7 +10240,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     ss << "done removing class of osd(s): " << updated;
     getline(ss, rs);
-    wait_for_finished_proposal(
+    wait_for_commit(
       op,
       new Monitor::C_Command(mon,op, 0, rs, get_last_committed() + 1));
     return true;
@@ -10670,7 +10670,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     ss << action << " item id " << osdid << " name '" << osd_name << "' weight "
        << weight << " at location " << loc << " to crush map";
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                      get_last_committed() + 1));
     return true;
 
@@ -10719,7 +10719,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
           << "' weight " << weight
           << " at location " << loc << " to crush map";
        getline(ss, rs);
-       wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+       wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                  get_last_committed() + 1));
        return true;
       }
@@ -10758,7 +10758,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
          pending_inc.crush.clear();
          newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
          getline(ss, rs);
-         wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+         wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                   get_last_committed() + 1));
          return true;
        }
@@ -10811,7 +10811,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     ss << "swapped bucket of " << source << " to " << dest;
     pending_inc.crush.clear();
     newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
-    wait_for_finished_proposal(op,
+    wait_for_commit(op,
                               new Monitor::C_Command(mon, op, err, ss.str(),
                                                      get_last_committed() + 1));
     return true;
@@ -10868,7 +10868,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
        err = 0;
       }
     }
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, err, ss.str(),
+    wait_for_commit(op, new Monitor::C_Command(mon, op, err, ss.str(),
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd crush rm" ||
@@ -10890,7 +10890,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
        err = 0;
        ss << "device '" << name << "' does not appear in the crush map";
        getline(ss, rs);
-       wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+       wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                  get_last_committed() + 1));
        return true;
       }
@@ -10924,7 +10924,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
           pending_inc.new_crush_node_flags[id] = 0;
        ss << "removed item id " << id << " name '" << name << "' from crush map";
        getline(ss, rs);
-       wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+       wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                  get_last_committed() + 1));
        return true;
       }
@@ -10938,7 +10938,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     ss << "reweighted crush hierarchy";
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                  get_last_committed() + 1));
     return true;
   } else if (prefix == "osd crush reweight") {
@@ -10976,7 +10976,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     ss << "reweighted item id " << id << " name '" << name << "' to " << w
        << " in crush map";
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                  get_last_committed() + 1));
     return true;
   } else if (prefix == "osd crush reweight-subtree") {
@@ -11014,7 +11014,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     ss << "reweighted subtree id " << id << " name '" << name << "' to " << w
        << " in crush map";
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd crush tunables") {
@@ -11052,7 +11052,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     ss << "adjusted tunables profile to " << profile;
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd crush set-tunable") {
@@ -11092,7 +11092,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     ss << "adjusted tunable " << tunable << " to " << value;
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
 
@@ -11132,7 +11132,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     }
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
 
@@ -11171,7 +11171,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     }
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
 
@@ -11197,7 +11197,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       }
 
       getline(ss, rs);
-      wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+      wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                        get_last_committed() + 1));
       return true;
     } else {
@@ -11275,7 +11275,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     }
 
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                       get_last_committed() + 1));
     return true;
 
@@ -11336,7 +11336,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     }
 
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                       get_last_committed() + 1));
     return true;
 
@@ -11377,7 +11377,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     }
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
 
@@ -11415,7 +11415,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     pending_inc.crush.clear();
     newcrush.encode(pending_inc.crush, mon.get_quorum_con_features());
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                get_last_committed() + 1));
     return true;
 
@@ -11455,7 +11455,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     pending_inc.new_max_osd = newmax;
     ss << "set new max_osd = " << pending_inc.new_max_osd;
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
 
@@ -11477,7 +11477,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       pending_inc.new_nearfull_ratio = n;
     ss << prefix << " " << n;
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd set-require-min-compat-client") {
@@ -11542,7 +11542,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     ss << "set require_min_compat_client to " << vno;
     pending_inc.new_require_min_compat_client = vno;
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                          get_last_committed() + 1));
     return true;
   } else if (prefix == "osd pause") {
@@ -11856,7 +11856,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     }
     if (any) {
       getline(ss, rs);
-      wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, err, rs,
+      wait_for_commit(op, new Monitor::C_Command(mon, op, err, rs,
                                                get_last_committed() + 1));
       return true;
     }
@@ -12018,7 +12018,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     }
     if (any) {
       getline(ss, rs);
-      wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, err, rs,
+      wait_for_commit(op, new Monitor::C_Command(mon, op, err, rs,
                                  get_last_committed() + 1));
       return true;
     }
@@ -12224,7 +12224,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       ss << "pool of " << pgid << " is pending removal";
       err = -ENOENT;
       getline(ss, rs);
-      wait_for_finished_proposal(op,
+      wait_for_commit(op,
         new Monitor::C_Command(mon, op, err, rs, get_last_committed() + 1));
       return true;
     }
@@ -12506,7 +12506,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       pending_inc.new_primary_affinity[id] = ww;
       ss << "set osd." << id << " primary-affinity to " << w << " (" << std::ios::hex << ww << std::ios::dec << ")";
       getline(ss, rs);
-      wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+      wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                 get_last_committed() + 1));
       return true;
     } else {
@@ -12539,7 +12539,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       pending_inc.new_weight[id] = ww;
       ss << "reweighted osd." << id << " to " << w << " (" << std::hex << ww << std::dec << ")";
       getline(ss, rs);
-      wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+      wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                get_last_committed() + 1));
       return true;
     } else {
@@ -12556,7 +12556,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       goto reply;
     }
     pending_inc.new_weight.insert(weights.begin(), weights.end());
-    wait_for_finished_proposal(
+    wait_for_commit(
        op,
        new Monitor::C_Command(mon, op, 0, rs, rdata, get_last_committed() + 1));
     return true;
@@ -12588,7 +12588,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       pending_inc.new_lost[id] = e;
       ss << "marked osd lost in epoch " << e;
       getline(ss, rs);
-      wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+      wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                get_last_committed() + 1));
       return true;
     }
@@ -12693,7 +12693,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     }
 
     getline(ss, rs);
-    wait_for_finished_proposal(op,
+    wait_for_commit(op,
         new Monitor::C_Command(mon, op, 0, rs, get_last_committed() + 1));
     force_immediate_propose();
     return true;
@@ -12748,7 +12748,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       goto reply;
     }
 
-    wait_for_finished_proposal(op,
+    wait_for_commit(op,
         new Monitor::C_Command(mon, op, 0, rs, rdata,
                                get_last_committed() + 1));
     force_immediate_propose();
@@ -12817,7 +12817,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       ss << new_id;
       rdata.append(ss);
     }
-    wait_for_finished_proposal(op,
+    wait_for_commit(op,
         new Monitor::C_Command(mon, op, 0, rs, rdata,
                                get_last_committed() + 1));
     return true;
@@ -12836,7 +12836,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     }
     ss << " removed all blocklist entries";
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                               get_last_committed() + 1));
     return true;
   } else if (prefix == "osd blocklist" ||
@@ -12922,7 +12922,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
 
        ss << "blocklisting " << addr << " until " << expires << " (" << d << " sec)";
        getline(ss, rs);
-       wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+       wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                  get_last_committed() + 1));
        return true;
       } else if (blocklistop == "rm") {
@@ -12946,7 +12946,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
                                                 pending_inc.new_range_blocklist))) {
          ss << "un-blocklisting " << addr;
          getline(ss, rs);
-         wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+         wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                    get_last_committed() + 1));
          return true;
        }
@@ -13001,7 +13001,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       ss << "created pool " << poolstr << " snap " << snapname;
     }
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd pool rmsnap") {
@@ -13041,7 +13041,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       ss << "already removed pool " << poolstr << " snap " << snapname;
     }
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd pool create") {
@@ -13218,7 +13218,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       ss << "pool '" << poolstr << "' created";
     }
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
 
@@ -13300,7 +13300,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
         << cpp_strerror(ret);
     }
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, ret, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, ret, rs,
                                              get_last_committed() + 1));
     return true;
 
@@ -13312,7 +13312,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       goto reply;
 
     getline(ss, rs);
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                                   get_last_committed() + 1));
     return true;
   } else if (prefix == "osd tier add") {
@@ -13380,7 +13380,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     np->set_snap_epoch(pending_inc.epoch); // tier will update to our snap info
     ntp->tier_of = pool_id;
     ss << "pool '" << tierpoolstr << "' is now (or already was) a tier of '" << poolstr << "'";
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, ss.str(),
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, ss.str(),
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd tier remove" ||
@@ -13440,7 +13440,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     np->tiers.erase(tierpool_id);
     ntp->clear_tier();
     ss << "pool '" << tierpoolstr << "' is now (or already was) not a tier of '" << poolstr << "'";
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, ss.str(),
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, ss.str(),
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd tier set-overlay") {
@@ -13497,7 +13497,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     ss << "overlay for '" << poolstr << "' is now (or already was) '" << overlaypoolstr << "'";
     if (overlay_p->cache_mode == pg_pool_t::CACHEMODE_NONE)
       ss <<" (WARNING: overlay pool cache_mode is still NONE)";
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, ss.str(),
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, ss.str(),
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd tier remove-overlay" ||
@@ -13538,7 +13538,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     np->clear_write_tier();
     np->set_last_force_op_resend(pending_inc.epoch);
     ss << "there is now (or already was) no overlay for '" << poolstr << "'";
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, ss.str(),
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, ss.str(),
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd tier cache-mode") {
@@ -13683,7 +13683,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
          base_pool->write_tier == pool_id)
        ss <<" (WARNING: pool is still configured as read or write tier)";
     }
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, ss.str(),
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, ss.str(),
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd tier add-cache") {
@@ -13779,7 +13779,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     ntp->hit_set_params = hsp;
     ntp->target_max_bytes = size;
     ss << "pool '" << tierpoolstr << "' is now (or already was) a cache tier of '" << poolstr << "'";
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, ss.str(),
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, ss.str(),
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd pool set-quota") {
@@ -13828,7 +13828,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
     }
     ss << "set-quota " << field << " = " << value << " for pool " << poolstr;
     rs = ss.str();
-    wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+    wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                              get_last_committed() + 1));
     return true;
   } else if (prefix == "osd pool application enable" ||
@@ -13952,7 +13952,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
 
  update:
   getline(ss, rs);
-  wait_for_finished_proposal(op, new Monitor::C_Command(mon, op, 0, rs,
+  wait_for_commit(op, new Monitor::C_Command(mon, op, 0, rs,
                                            get_last_committed() + 1));
   return true;