Skip to content

Commit

Permalink
rgw: dont log EBUSY errors in 'sync error list'
Browse files Browse the repository at this point in the history
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 <cbodley@redhat.com>
  • Loading branch information
cbodley committed Dec 18, 2017
1 parent a313e6f commit ca4510b
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/rgw/rgw_data_sync.cc
Expand Up @@ -1037,10 +1037,13 @@ class RGWDataSyncSingleEntryCR : public RGWCoroutine {
}

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));
Expand Down

0 comments on commit ca4510b

Please sign in to comment.