From f5d9537d3e69197c7eadb21a6d0d01373530e2de Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Thu, 7 Jul 2016 14:42:00 -0400 Subject: [PATCH] rgw: remove datalog keys from error repo on ENOENT Signed-off-by: Casey Bodley (cherry picked from commit 16976eedb70292e821193e39bb577a68df1bc95a) --- src/rgw/rgw_data_sync.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index f9804b64d7d2d..0ef55230ef929 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -896,6 +896,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))); -- 2.39.5