Skip to content

Commit 5cf1e93

Browse files
committed
crimson/osd/replicated_recovery_backend: call on_global_recover() only
when all replicas and the primary have been recovered Fixes: https://tracker.ceph.com/issues/68806 Signed-off-by: Xuehan Xu <[email protected]>
1 parent 4b3747a commit 5cf1e93

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/crimson/osd/replicated_recovery_backend.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,10 @@ ReplicatedRecoveryBackend::recover_delete(
306306
}
307307
return seastar::make_ready_future<>();
308308
}).then_interruptible([this, soid, &stat_diff] {
309-
pg.get_recovery_handler()->on_global_recover(soid, stat_diff, true);
309+
const auto &missing = pg.get_peering_state().get_pg_log().get_missing();
310+
if (!missing.is_missing(soid)) {
311+
pg.get_recovery_handler()->on_global_recover(soid, stat_diff, true);
312+
}
310313
return seastar::make_ready_future<>();
311314
});
312315
});

0 commit comments

Comments
 (0)