From: Casey Bodley Date: Thu, 7 Jul 2016 18:42:00 +0000 (-0400) Subject: rgw: remove datalog keys from error repo on ENOENT X-Git-Tag: ses5-milestone5~438^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=16976eedb70292e821193e39bb577a68df1bc95a;p=ceph.git rgw: remove datalog keys from error repo on ENOENT Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index 7a62f9a0390e..c4351ca86a29 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -897,6 +897,15 @@ public: sync_status = retcode; + if (sync_status == -ENOENT) { + // this was added when 'tenant/' was added to datalog entries, because + // preexisting tenant buckets could never sync and would stay in the + // error_repo forever + ldout(sync_env->store->ctx(), 0) << "WARNING: skipping data log entry " + "for missing bucket " << raw_key << dendl; + sync_status = 0; + } + if (sync_status < 0) { yield call(sync_env->error_logger->log_error_cr(sync_env->conn->get_remote_id(), "data", raw_key, -sync_status, string("failed to sync bucket instance: ") + cpp_strerror(-sync_status)));