From ca4510bc76ad7beed1128539aa9e424d29dd8585 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Mon, 18 Dec 2017 11:42:21 -0500 Subject: [PATCH] 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 --- src/rgw/rgw_data_sync.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index 6d3f01d40eb..b68928c72ec 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -1037,10 +1037,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) { - tn->log(0, SSTR("ERROR: failed to log sync failure: retcode=" << retcode)); + // 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) { + tn->log(0, SSTR("ERROR: failed to log sync failure: retcode=" << retcode)); + } } if (error_repo && !error_repo->append(raw_key)) { tn->log(0, SSTR("ERROR: failed to log sync failure in error repo: retcode=" << retcode));