New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rgw/multisite[archive zone]: fix storing of bucket instance info in the new bucket entrypoint #51219
Conversation
…point in case of archive zone. Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just above, there's a block comment about why this workaround is necessary - to keep the list of user.buckets consistent. can we verify that the renamed bucket is still visible under it's owning user with radosgw-admin bucket list --uid=?
| ret = ctl.bucket->store_bucket_instance_info(be.bucket, new_bi, y, dpp, RGWBucketCtl::BucketInstance::PutParams() | ||
| ret = ctl.bucket->store_bucket_instance_info(new_be.bucket, new_bi, y, dpp, RGWBucketCtl::BucketInstance::PutParams() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so we were updating the existing bucket instance metadata, then deleting it with remove_bucket_instance_info() just below? neither store_bucket_instance_info() nor remove_bucket_instance_info() delete the bucket index objects, but this removal of the bucket instance metadata would effectively orphan the bucket index shards and all of the object versions they contained
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since we are only renaming the bucket, is it necessary to clean the bucket index shards?
I can list the objects and do all sorts of get bucket operations on this renamed bucket.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it necessary to clean the bucket index shards?
no. you're right, we still need the index
@cbodley yes, I verified this and I can list the renamed bucket under the user. |
|
$radosgw-admin bucket list --uid=testuser $radosgw-admin bucket list --bucket test-bucket-deleted-3d37706f8173d983c756d5d108af96f2 |
|
jenkins test make check |
1 similar comment
|
jenkins test make check |
The new bucket instance on archive zone was being inaccessible after deleting source bucket. Fixed by copying the old bucket instance info into the new entrypoint.
Fixes: https://tracker.ceph.com/issues/43221
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "pacific"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
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