From: Adam C. Emerson Date: Fri, 17 Nov 2017 21:05:06 +0000 (-0500) Subject: rgw: Handle stale bucket info in RGWDeleteBucketWebsite X-Git-Tag: v12.2.3~205^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3f2fa364fb7f8140d20ad7de13a69cd2cc31ec77;p=ceph.git rgw: Handle stale bucket info in RGWDeleteBucketWebsite Signed-off-by: Adam C. Emerson (cherry picked from commit f4d274248e43cb38ff2b27782c010b2c35b12b2b) Fixes: http://tracker.ceph.com/issues/22517 --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 4e14b61e6813..03c8b9eef305 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -2221,10 +2221,13 @@ void RGWDeleteBucketWebsite::pre_exec() void RGWDeleteBucketWebsite::execute() { - s->bucket_info.has_website = false; - s->bucket_info.website_conf = RGWBucketWebsiteConf(); - - op_ret = store->put_bucket_instance_info(s->bucket_info, false, real_time(), &s->bucket_attrs); + op_ret = retry_raced_bucket_write(store, s, [this] { + s->bucket_info.has_website = false; + s->bucket_info.website_conf = RGWBucketWebsiteConf(); + op_ret = store->put_bucket_instance_info(s->bucket_info, false, + real_time(), &s->bucket_attrs); + return op_ret; + }); if (op_ret < 0) { ldout(s->cct, 0) << "NOTICE: put_bucket_info on bucket=" << s->bucket.name << " returned err=" << op_ret << dendl; return;