Actions
Bug #20234
closedrgw: shadow objects are sometimes not removed
% Done:
0%
Source:
Tags:
Backport:
luminous, jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Testing on master, after copying an object, then deleting the copy and finally deleting the original object, the associated shadow objects to not get deleted because there is a mismatch in the tags involved. Here I have made a small patch to add the info.tag
to the log message:
out/rgw.0.log:2017-06-09 12:01:44.515851 7f171e7b2700 0 gc::process: removing default.rgw.buckets.data:3c50c7ad-d593-4c0a-b72b-922bc3c3aac3.4116.1__shadow_.TFa_fTQbzhmy_wEDOahQFDLPjlQwTUJ_1 tag: _4HrVnrN4fE7XtDh2Wc8mxc8-t7RKAeh out/rgw.0.log:2017-06-09 12:05:44.998398 7f171e7b2700 0 gc::process: removing default.rgw.buckets.data:3c50c7ad-d593-4c0a-b72b-922bc3c3aac3.4116.1__shadow_.TFa_fTQbzhmy_wEDOahQFDLPjlQwTUJ_1 tag: 3c50c7ad-d593-4c0a-b72b-922bc3c3aac3.4116.5
While the refcount xattr shows:
$ bin/rados -p default.rgw.buckets.data getxattr 3c50c7ad-d593-4c0a-b72b-922bc3c3aac3.4116.1__shadow_.TFa_fTQbzhmy_wEDOahQFDLPjlQwTUJ_1 refcount|od -x -a 0000000 0101 0034 0000 0001 0000 002b 0000 6333 soh soh 4 nul nul nul soh nul nul nul + nul nul nul 3 c 0000020 3035 3763 6461 642d 3935 2d33 6334 6130 5 0 c 7 a d - d 5 9 3 - 4 c 0 a 0000040 622d 3237 2d62 3239 6232 3363 3363 6161 - b 7 2 b - 9 2 2 b c 3 c 3 a a 0000060 3363 342e 3131 2e36 0137 c 3 . 4 1 1 6 . 7 soh 0000072
So 3c50c7ad-d593-4c0a-b72b-922bc3c3aac3.4116.7
is the tag that is written into the refcount for the copied object, but the tag stored with the object and being passed to the refcount_put is this random string instead: _4HrVnrN4fE7XtDh2Wc8mxc8-t7RKAeh
Actions