Corruption of object suffix directories becoming files
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Expired
|
Undecided
|
Unassigned |
Bug Description
Am running swift 1.7.5.
I sometimes notice a swift object suffix that is now a file (and not always 0 length) rather than a directory. For example:
-rw------- 1 swift swift 47984 2013-01-11 13:18 /srv/node/
-rw------- 1 swift swift 45878 2013-01-11 19:11 /srv/node/
-rw------- 1 swift swift 44981 2013-01-11 19:11 /srv/node/
-rw------- 1 swift swift 42914 2013-01-11 18:30 /srv/node/
-rw------- 1 swift swift 0 2012-09-08 06:42 /srv/node/
Some of these files now look like hashes.pkl files:
$ sudo strings /srv/node/
9fdU 627de79c8e45dea
9feU 6d55735daf02c87
fa8U 33c5fb6c26f9ea6
dc1U 88132ddb5363a28
edfU 4b028c6b2a7ca2b
9faU 3982e12effb41ee
eddU 15fcf305cfdb072
fa5U b13012039dbe698
164U 064776b1f09d535
3a8U 0deaa2e8da8e5d1
I haven't spotted anything in the background.log relating to these suffix corruptions.
Though the problem can be spotted by entries like the following in rsyncd.log:
2013/01/31 06:25:05 [10386] rsync to object/ disk8/objects/ 142776 from object2 (1.2.3.4) perms_for_ dir: sys_acl_ get_file( 5b3, ACL_TYPE_DEFAULT): Permission denied, falling back on umask objects/ 142776/ 5b3/116dc4cc111 4526f7301fdfdfd cb45b3" (in object) failed: Not a directory (20)
2013/01/31 06:25:05 [10386] receiving file list
2013/01/31 06:25:06 [10386] default_
2013/01/31 06:25:06 [10386] rsync: recv_generator: mkdir "/disk8/
2013/01/31 06:25:06 [10386] *** Skipping any contents from this failed directory ***