From: Yehuda Sadeh Date: Mon, 21 Mar 2016 23:49:20 +0000 (-0700) Subject: rgw: update data log even if canceling index operation X-Git-Tag: v10.1.1~128^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9bd7bd8899bad540ecd8581d75fbd253a1104504;p=ceph.git rgw: update data log even if canceling index operation Need to update the data log anyway, so that it reflects that there were changes in the bucket index log. Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 7d9228dd6193..dc9728e79c72 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -8587,7 +8587,20 @@ int RGWRados::Bucket::UpdateIndex::cancel() ldout(store->ctx(), 5) << "failed to get BucketShard object: ret=" << ret << dendl; return ret; } - return store->cls_obj_complete_cancel(*bs, optag, obj, bilog_flags); + + ret = store->cls_obj_complete_cancel(*bs, optag, obj, bilog_flags); + + /* + * need to update data log anyhow, so that whoever follows needs to update its internal markers + * for following the specific bucket shard log. Otherwise they end up staying behind, and users + * have no way to tell that they're all caught up + */ + int r = store->data_log->add_entry(bs->bucket, bs->shard_id); + if (r < 0) { + lderr(store->ctx()) << "ERROR: failed writing data log" << dendl; + } + + return ret; } int RGWRados::Object::Read::read(int64_t ofs, int64_t end, bufferlist& bl)