]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd/PGLog,crimson/osd/pg: remove support for rebuild_missing_set_with_deletes_crimson
authorSamuel Just <sjust@redhat.com>
Wed, 26 Jun 2024 03:16:28 +0000 (03:16 +0000)
committerSamuel Just <sjust@redhat.com>
Wed, 3 Jul 2024 01:23:59 +0000 (01:23 +0000)
commit4c58cb5872596d9f19b38a51c088e0d185f712e3
treef11023d9411062d2891a170394223a5a83c0793c
parent1272408fafd0d87fa8a3dd308b77e8f8867b8314
osd/PGLog,crimson/osd/pg: remove support for rebuild_missing_set_with_deletes_crimson

Reverts 9c2d11af5.

PeeringListener::rebuild_missing_set_with_deletes should only be invoked
upon advancing from an OSDMap where CEPH_OSDMAP_RECOVERY_DELETES is not
set to one where it is.  That shouldn't be possible for a crimson cluster
as CEPH_OSDMAP_RECOVERY_DELETES should be set as long as
require_osd_release >= luminous, which was quite a few versions ago.
OSDMonitor::create_initial() defaults to squid, or as old as quincy
with config options.

I'm not sure this actually worked as it uses get0() on
a seastar::future<>, which won't correctly deal with the thread-local
interrupt_cond created by the interruptor::async wrapper in
PG::do_peering_event.  Additionally,
PeeringListener::rebuild_missing_set_with_deletes would have been
invoked under PeeringState::on_new_interval() while processing an
AdvMap event, but PG::handle_advance_map doesn't actually invoke
peering_state.advance_map under seastar::async or interruptor::async.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/osd/pg.h
src/osd/PGLog.cc
src/osd/PGLog.h