]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/.../peering_event: complete_rctx under the PGPeeringPipeline::process stage
authorSamuel Just <sjust@redhat.com>
Tue, 2 Jul 2024 23:34:52 +0000 (16:34 -0700)
committerMatan Breizman <mbreizma@redhat.com>
Thu, 25 Jul 2024 07:54:19 +0000 (10:54 +0300)
Otherwise, transactions and messages might be submitted out of order.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 38ab28739e377059687c89e0b1d9637a55c70a7e)

src/crimson/osd/osd_operations/peering_event.cc

index 8e7a41a8fd9e69d3cff5723cdf3a37619681e26c..8c12f8b467d5e771278ba6577e774cd6c7f7abb6 100644 (file)
@@ -102,12 +102,11 @@ seastar::future<> PeeringEvent<T>::with_pg(
        * now, but we'll want to remove that as well.
        * https://tracker.ceph.com/issues/66708
        */
-      return interruptor::async([this, pg] {
+      return interruptor::async([this, pg, &shard_services] {
        pg->do_peering_event(evt, ctx);
+       complete_rctx(shard_services, pg).get();
       }).then_interruptible([this] {
        return that()->get_handle().complete();
-      }).then_interruptible([this, pg, &shard_services] {
-       return complete_rctx(shard_services, pg);
       });
     });
   }, [this](std::exception_ptr ep) {