]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: EC Optimizations bug fix for flip/flop acting set
authorBill Scales <bill_scales@uk.ibm.com>
Wed, 14 May 2025 07:39:40 +0000 (08:39 +0100)
committerLaura Flores <lflores@ibm.com>
Wed, 9 Jul 2025 15:47:24 +0000 (15:47 +0000)
commit5df15c098c2b006e3026ad9d506ec5dbe91d3375
treeaab20c21a6d08714cc5b6b9f23db9c8ddfa9a25b
parentb169a3d350911c81f557a120512a3ef576e87d6c
osd: EC Optimizations bug fix for flip/flop acting set

EC optimizations pools have a set of non-primary shards which
cannot become the primary because they do not have all the
metadata updates. If one of these shards is chosen as the
primary it will set the acting set to force another shard to
be chosen.

It is important that the selected acting set is the same
acting set that will be chosen by the next primary (assuming
nothing else changes) otherwise a PG can get into a state where
the acting set flip/flops between two different states causing
the PG to get stuck in peering and hanging I/O.

A bug in update_peer_info meant that non-primary shards did not
present the same info to choose_acting_set as primary shards
because they were not updating their pg_info_t based on pwlc
information from other shards.

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