Actions
Bug #53963
closed[rbd-mirror] fix races in snapshot-based mirroring deletion propagation
% Done:
0%
Source:
Tags:
Backport:
octopus,pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Description
When remote image is deleted, rbd-mirror can encounter three cases:
- no remote image id
- no remote mirror metadata
- MIRROR_IMAGE_STATE_DISABLING in remote mirror metadata
Currently, only the first case is handled correctly.
This is not observed at all times, but is observed if the following (broad) sequence of operations are performed: - Create image on "east" cluster - Enable snapshot mirroring for created image on "east" - Ensure mirror image on "west" is created - Force promote "west" image - Demote "east" image - Resync "east" image from "west" - Demote "west" image - Ensure "east" has caught up (both should be "up+unknown, remote image demoted") - Promote "east" image - Ensure "west" has caught up ("east" should be "up+stopped, local image is primary", "west" should be "up+replaying") - Delete "east" image ! Image at "west" does not get garbage collected
Actions