rgw: remove entries from bucket index shards directly in limited cases#46030
rgw: remove entries from bucket index shards directly in limited cases#46030ivancich merged 3 commits intoceph:masterfrom
Conversation
|
@mattbenjamin and @cbodley This still needs some clean-up, but I wanted to give you an early view of it. This brings down the previous fix from wip-rgw-multisite-reshard and then removes references to the new bucket info data structures that supported that, and then reworks the underlying codepath. |
This updates the bitx logging code to use the logging provided by DoutPrefixProvider. Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
04b7c22 to
60bc536
Compare
|
@cbodley and @mattbenjamin : I think I'm done with the clean-up. Given the limited codepaths that come here, and all known are through |
cbodley
left a comment
There was a problem hiding this comment.
I switched from asynchronous to synchronous given the former would force me to choose between fire and forget or managing the completions.
yeah, synchronous is probably fine here. 👍 the fire-and-forget model is especially problematic for radosgw-admin commands, because the process may exit before all of the enqueued requests get sent
60bc536 to
5525122
Compare
…m bi As one of the steps in `radosgw-admin bucket check --fix ...` it looks for bucket index entries for incomplete multipart uploads that do not have a corresponding ".meta" entry in the same bucket index. It then intends to delete those entries, however the function that it calls to perform the bucket index deletions was flawed and did not direct the removals to the appropriate shard(s), but instead a non-existant oid. This commit determines the appropriate shard for each of the entries to be removed and asynchronously issues a librados call to omap_rm_keys. Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
5525122 to
fa2fff8
Compare
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
fa2fff8 to
de36f46
Compare
|
jenkins test api |
1 similar comment
|
jenkins test api |
This fixes issues surrounding
radosgw-admin bucket check --fix ...andradosgw-admin object unlink .... Previously to remove an entry from a bucket index shard, we employed the dir_suggest mechanism. That is very subtle though, and another, important bug fix broke this functionality.So this removes entries from the bucket index using librados and bypassing CLS.
Signed-off-by: J. Eric Ivancich ivancich@redhat.com
Fixes: https://tracker.ceph.com/issues/55476
Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windows