Fixes an issue where the OSDMap does not clear pg-temp entries for PGs that no longer exist.
Fixes: https://tracker.ceph.com/issues/53308
Signed-off-by: Cory Snyder <csnyder@iland.com>
(cherry picked from commit
86367ea008281cf4398073466f3ece5ea18e82af)
pending_inc->new_pg_temp[pg.first].clear();
continue;
}
+ if (!nextmap.pg_exists(pg.first)) {
+ ldout(cct, 10) << __func__ << " removing pg_temp " << pg.first
+ << " for nonexistent pg " << dendl;
+ pending_inc->new_pg_temp[pg.first].clear();
+ continue;
+ }
// all osds down?
unsigned num_up = 0;
for (auto o : pg.second) {