Merge pull request #48091 from rzarzynski/wip-crimson-pgadvmap-complete-in-order

crimson/osd: PGAdvanceMap ops complete in order

Reviewed-by: Samuel Just <sjust@redhat.com>
This commit is contained in:
Samuel Just 2022-09-19 13:30:52 -07:00 committed by GitHub
commit e811060b84
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -70,11 +70,13 @@ seastar::future<> PGAdvanceMap::start()
[this](epoch_t next_epoch) {
return shard_manager.get_map(next_epoch).then(
[this] (cached_map_t&& next_map) {
logger().debug("{}: advancing map to {}",
*this, next_map->get_epoch());
pg->handle_advance_map(next_map, rctx);
});
}).then([this] {
pg->handle_activate_map(rctx);
handle.exit();
logger().debug("{}: map activated", *this);
if (do_init) {
shard_manager.pg_created(pg->get_pgid(), pg);
shard_manager.get_shard_services().inc_pg_num();
@ -89,6 +91,7 @@ seastar::future<> PGAdvanceMap::start()
pg->get_collection_ref(),
std::move(rctx)));
}).then_unpack([this] {
logger().debug("{}: sending pg temp", *this);
return shard_manager.get_shard_services().send_pg_temp();
});
}).then([this, ref=std::move(ref)] {