Bug #2164
osd: scrub missing _, snapset attrs
0%
Description
2012-03-11 05:43:14.226733 osd.14 10.214.133.31:6800/8629 41 : [ERR] 0.32 osd.11: soid 2f105832/plana15_2169_object7344/head ex tra attr _, extra attr snapset 2012-03-11 05:43:14.226761 osd.14 10.214.133.31:6800/8629 42 : [ERR] 0.32 scrub 0 missing, 1 inconsistent objects 2012-03-11 05:43:14.227430 osd.14 10.214.133.31:6800/8629 43 : [ERR] scrub 0.32 2f105832/plana15_2169_object7344/head no 'snapset' attr 2012-03-11 05:43:14.227526 osd.14 10.214.133.31:6800/8629 44 : [ERR] 0.32 scrub stat mismatch, got 210/211 objects, 0/0 clones, 880803840/884998144 bytes. 2012-03-11 05:43:14.227543 osd.14 10.214.133.31:6800/8629 45 : [ERR] 0.32 scrub 2 errors on ubuntu@teuthology:/a/master-2012-03-10_21:22:04/413 kernel: &id001 branch: testing nuke-on-error: true overrides: ceph: branch: master btrfs: 1 log-whitelist: - clocks not synchronized - old request roles: - - mon.0 - mds.a - osd.0 - - mon.1 - osd.1 - - mon.2 - osd.2 - - osd.3 - - osd.4 - - osd.5 - - osd.6 - - osd.7 - - osd.8 - - osd.9 - - osd.10 - - osd.11 - - osd.12 - - osd.13 - - osd.14 - - osd.15 - - client.0 tasks: - internal.lock_machines: 17 - internal.save_config: null - internal.check_lock: null - internal.connect: null - internal.check_conflict: null - kernel: *id001 - internal.base: null - internal.archive: null - internal.coredump: null - internal.syslog: null - internal.timer: null - ceph: log-whitelist: - wrongly marked me down or wrong addr - objects unfound and apparently lost - thrashosds: chance_down: 50 - radosbench: clients: - client.0 time: 1800
Related issues
Associated revisions
filestore: set guard on collection_move
During recovery we submit transactions like:
- delete a/foo
- move tmp/foo to a/foo
This prevents the EEXIST check in collection_move from doing any good,
since the destination never exists. We need to do that remove at least
sometimes, because we may be overwriting an existing/older version of the
object.
So,
- set the guard after we do the move, so that
- the delete won't be repated, and
- the EEXIST check will work
Also check the guard for good measure (although that doesn't do anything
specifically useful in this scenario).
Fixes: #2164
Signed-off-by: Sage Weil <sage@newdream.net>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
Reviewed-by: Samuel Just <samuel.just@dreamhost.com>
History
#1 Updated by Sage Weil over 11 years ago
- Status changed from New to 12
this was non-btrfs, right after the new idempotent replay stuff was fixed.
#2 Updated by Sage Weil over 11 years ago
- Status changed from 12 to 7
- Target version set to v0.45
wip-2164
it's a problem with the collection_move guard (or lack thereof)
#3 Updated by Sage Weil over 11 years ago
- Status changed from 7 to Resolved