]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: Optimized EC invalid pwlc for shards doing backfill/async 65411/head
authorBill Scales <bill_scales@uk.ibm.com>
Wed, 16 Jul 2025 14:55:40 +0000 (15:55 +0100)
committerAlex Ainscow <aainscow@uk.ibm.com>
Sun, 7 Sep 2025 23:10:41 +0000 (00:10 +0100)
commit7ba2bf1b2b8e735ca82b9e78708a8ff3c4aac841
treea5fdecb67e444fd2de6ab4ea73748e0c81bdc674
parentb7221e6474ad547a1e1b7fde9e3225e8cdc5f242
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