Skip to content
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

cls/rgw: preserve olh entry's name on last unlink #36015

Merged
merged 1 commit into from Aug 10, 2020

Conversation

cbodley
Copy link
Contributor

@cbodley cbodley commented Jul 10, 2020

When rgw_bucket_unlink_instance removes the last instance of a name, it also clears the value of rgw_bucket_olh_entry.key. However, bucket index resharding uses this key when choosing its shard placement, so an empty key causes all of these olh entries to be misplaced in shard 0. After reshard, all of the olh recovery/cleanup logic would be sent to the correct shard, and these misplaced olh entries would never be cleaned up.

Preserving the key's name on last unlink allows the olh entry to be resharded correctly and cleaned up normally.

Fixes: https://tracker.ceph.com/issues/46456

Checklist

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard backend
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

When rgw_bucket_unlink_instance removes the last instance of a name, it
also clears the value of rgw_bucket_olh_entry.key. However, bucket index
resharding uses this key when choosing its shard placement, so an empty
key causes all of these olh entries to be misplaced in shard 0. After
reshard, all of the olh recovery/cleanup logic would be sent to the
correct shard, and these misplaced olh entries would never be cleaned
up.

Preserving the key's name on last unlink allows the olh entry to be
resharded correctly and cleaned up normally.

Fixes: https://tracker.ceph.com/issues/46456

Signed-off-by: Casey Bodley <cbodley@redhat.com>
@ivancich ivancich added the wip-eric-testing-1 for ivancich testing label Aug 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants