]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: Optimized EC invalid pwlc for shards doing backfill/async
authorBill Scales <bill_scales@uk.ibm.com>
Wed, 16 Jul 2025 14:55:40 +0000 (15:55 +0100)
committerJon <jonathan.bailey1@ibm.com>
Fri, 3 Oct 2025 13:31:24 +0000 (14:31 +0100)
commit6aa30e60ef5af2f546359c420cce5b2abe75f652
tree4935cb743ceffa9d1d6fd2486624b1e30ec5f26e
parentf2b1ed81b2719bd99957cc112e393b84855f93a3
osd: Optimized EC invalid pwlc for shards doing backfill/async

Shards performing backfill or async recovery receive log entries
(but not transactions) for updates to missing/yet to be backfilled
objects. These log entries get applied and completed immediately
because there is nothing that can be rolled back. This causes
pwlc to advance too early and causes problems if other shards
do not complete the update and end up rolling it backwards.

This fix sets pwlc to be invalid when such a log entry is
applied and completed and it then remains invalid until the
next interval when peering runs again. Other shards will
continue to update pwlc and any complete subset of shards
in a future interval will include at least one shard that
has continued to update pwlc

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
(cherry picked from commit 534fc76d40a86a49bfabab247d3a703cbb575e27)
src/osd/PGBackend.cc
src/osd/PeeringState.cc