Bug #8882
osd: osd tier remove ... leaves incomplete clones behind, confusing scrub
0%
Description
ubuntu@teuthology:/a/teuthology-2014-07-18_02:32:01-rados-master-testing-basic-plana/368480
rados/thrash/{clusters/fixed-2.yaml fs/btrfs.yaml msgr-failures/few.yaml thrashers/morepggrow.yaml workloads/rados_api_tests.yaml}
Related issues
Associated revisions
osd/ReplicatedPG: do not complain about missing clones when INCOMPLETE_CLONES is set
When scrubbing, do not complain about missing cloens when we are in a
caching mode or when the INCOMPLETE_CLONES flag is set. Both are
indicators that we may be missing clones and that that is okay.
Fixes: #8882
Signed-off-by: Sage Weil <sage@redhat.com>
osd/ReplicatedPG: do not complain about missing clones when INCOMPLETE_CLONES is set
When scrubbing, do not complain about missing cloens when we are in a
caching mode or when the INCOMPLETE_CLONES flag is set. Both are
indicators that we may be missing clones and that that is okay.
Fixes: #8882
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 956f28721dd98c5fb9eb410f4fe9e320b3f3eed3)
History
#1 Updated by Sage Weil over 9 years ago
- Subject changed from scrub 85.5 2f0557ed/foo99/head/test-rados-api-plana76-2813-11/85 missing clones to osd: osd tier remove ... leaves incomplete clones behind, confusing scrub
- Status changed from New to 4
This is a stupid test with tiering teardown.
- set up cache pool, write a bunch of stuff
- some objects in teh cache tier are missing clones. this is normal, and scrub normally ignores it.
- test finishes, we osd tier remove cachepool, it clears the pool properties, and sets cache_mode = NONE
- scrub comes along and complains about missing clones because cache_mode == NONE
- the pool is deleted
A few ideas:
1- we leave cache_mode = WRITEBACK. i don't like this.
2- we set a flag on the pool that says 'incomplete clones' and set it when we set cache_mode to anything other than NONE. then change the scrub check to check for either mode != NONE or that flag (we have to behave with previously created cache pools)
I'm leaning toward #2?
#2 Updated by Sage Weil over 9 years ago
- Status changed from 4 to Fix Under Review
#3 Updated by Sage Weil over 9 years ago
- Status changed from Fix Under Review to Pending Backport
#4 Updated by Sage Weil over 9 years ago
- Status changed from Pending Backport to Resolved
#5 Updated by Lazuardi Nasution over 7 years ago
It seem that this issue still happen on Infernalis (v9.2.1). After removing the writeback cache by following procedure on http://docs.ceph.com/docs/infernalis/rados/operations/cache-tiering/ the ex cachepool become has incomplete_clones flag and still leaves min_read_recency_for_promote and min_write_recency_for_promote flags. Beside, the ex storagepool become has lfor flag. Due to this condition (especially incomplete_clones flag on ex cachepool), I cannot use the same cachepool to build new cache tier with following error message.
Error ENOTEMPTY: tier pool {cachepool} has snapshot state; it cannot be added as a tier without breaking the pool
Anyway, I can delete this ex cachepool. Should I bring this issue as new bug report?
#6 Updated by Nathan Cutler over 7 years ago
Should I bring this issue as new bug report?
The fix of this bug is already in infernalis, so yes, open a new bug.