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: v13.0.2~724^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F19580%2Fhead;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 --- diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index 6d3f01d40ebe..b68928c72ecb 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));