Bug #11493
closedmon: adding exsting pool as tier with --force-nonempty clobbers removed_snaps
0%
Description
1. images had snapshots (and removed_snaps)
2. images was added as a tier of img, and img's removed_snaps was copied
to images, clobbering the removed_snaps value (see
OSDMap::Incremental::propagate_snaps_to_tiers)
3. tiering relation was undone, but removed_snaps was still gone
4. on OSD startup, when we load the PG, removed_snaps is initialized with
the older map. later, in PGPool::update(), we assume that removed_snaps
alwasy grows (never shrinks) and we trigger an assert.
To fix this I think we need to do 2 things:
1. make the OSD forgiving out removed_snaps getting smaller. This is
probably a good thing anyway: once we know snaps are removed on all OSDs
we can prune the interval_set in the OSDMap. Maybe.
2. Fix the mon to prevent this from happening, even when
--force-nonempty is specified. (This is the root cause.)
Updated by Sage Weil almost 9 years ago
- Status changed from New to Fix Under Review
Updated by Samuel Just almost 9 years ago
- Status changed from Fix Under Review to Resolved
- Regression set to No
Updated by Nathan Cutler almost 9 years ago
- Status changed from Resolved to Pending Backport
- Backport set to firefly,hammer
Updated by Nathan Cutler almost 9 years ago
Updated by Loïc Dachary over 8 years ago
- Status changed from Pending Backport to Resolved