]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: EC optimizations: Get log twice when auth_log_shard is a non-primary
authorBill Scales <bill_scales@uk.ibm.com>
Wed, 26 Mar 2025 12:40:13 +0000 (12:40 +0000)
committerAlex Ainscow <aainscow@uk.ibm.com>
Tue, 22 Apr 2025 07:17:03 +0000 (08:17 +0100)
commitea67439f3c5ae842f985ee492a1de9ea2aefe2de
tree9353c60fba028c7db58f06c9b49bb6b77f01cbb8
parent136d96ce2067476a2004b8c3290788ee316fa5e3
osd: EC optimizations: Get log twice when auth_log_shard is a non-primary

When an event such as splitting the PG occurs the new primary does
not have any log at the start of peering. Non-primary shards in an
EC optimized pool may not have a complete log of writes due to
partial writes. If the choosen authorative shard is a non-primary
shard then the new primary needs to first get a full copy of the
log (which extends past the authorative shard log) from another
shard and then repeat the get log step to get the authorative
shard's log so it can be merged rewinding divergent entries.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
src/osd/PeeringState.cc
src/osd/PeeringState.h