From: Casey Bodley Date: Mon, 18 Dec 2017 16:42:21 +0000 (-0500) Subject: rgw: dont log EBUSY errors in 'sync error list' X-Git-Tag: v12.2.3~134^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=84fff7aca5d7387566304206eb4cfbb934c2d536;p=ceph.git rgw: dont log EBUSY errors in 'sync error list' these temporary errors get retried automatically, so no admin intervention is required. logging them only serves to waste space in omap and obscure the more serious sync errors Fixes: http://tracker.ceph.com/issues/22473 Signed-off-by: Casey Bodley (cherry picked from commit ca4510bc76ad7beed1128539aa9e424d29dd8585) Conflicts: src/rgw/rgw_data_sync.cc ("multisite log tracing" feature - see https://github.com/ceph/ceph/pull/16492 - is not being backported to luminous) --- diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index daaffb7cde9e..63fcfc91ac7c 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -985,10 +985,13 @@ public: } 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))); - if (retcode < 0) { - ldout(sync_env->store->ctx(), 0) << "ERROR: failed to log sync failure: retcode=" << retcode << dendl; + // write actual sync failures for 'radosgw-admin sync error list' + if (sync_status != -EBUSY && sync_status != -EAGAIN) { + 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))); + if (retcode < 0) { + ldout(sync_env->store->ctx(), 0) << "ERROR: failed to log sync failure: retcode=" << retcode << dendl; + } } if (error_repo && !error_repo->append(raw_key)) { ldout(sync_env->store->ctx(), 0) << "ERROR: failed to log sync failure in error repo: retcode=" << retcode << dendl;