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: fix for bucket delete racing with mdlog sync #11648
Conversation
@@ -2481,6 +2481,12 @@ void RGWDeleteBucket::execute() | |||
} | |||
|
|||
op_ret = store->delete_bucket(s->bucket, ot); | |||
|
|||
if (op_ret == -ECANCELED && !store->is_meta_master()) { |
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.
@cbodley can't this happen with multiple deletes going to the same bucket on the master zone also?
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.
probably, yeah. should we map ECANCELED
to ENOENT
in that case, or return success there as well?
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.
currently the ECANCELED is returned by cls_version, which actually reraises a ENOENT from version check as a ECANCELED as the version check fails through, should we be just raising the ENOENT as it is, if there is no one else consuming the cls_version check that is...
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.
Fixes: http://tracker.ceph.com/issues/17698 Signed-off-by: Casey Bodley <cbodley@redhat.com>
updated to handle races on the metadata master as well. also added a return, because we've already called |
the latest change worked for both the cases, ie. races in master zone & slave zone for bucket removal |
proposed fix for bucket deletion on a remote racing with mdlog sync
Fixes: http://tracker.ceph.com/issues/17698