From 061f040dcdd5504c6b1cdc11f499410df95b4687 Mon Sep 17 00:00:00 2001 From: Shilpa Jagannath Date: Sat, 11 Mar 2023 15:06:05 -0500 Subject: [PATCH] rgw/multisite: don't retry in error repo if bucket instance does not exist Signed-off-by: Shilpa Jagannath --- src/rgw/driver/rados/rgw_data_sync.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rgw/driver/rados/rgw_data_sync.cc b/src/rgw/driver/rados/rgw_data_sync.cc index eca2bc95202b..c2a16b7157d9 100644 --- a/src/rgw/driver/rados/rgw_data_sync.cc +++ b/src/rgw/driver/rados/rgw_data_sync.cc @@ -1524,7 +1524,13 @@ public: int operate(const DoutPrefixProvider *dpp) override { reenter(this) { yield call(new RGWReadRemoteBucketIndexLogInfoCR(sc, source_bs.bucket, &remote_info)); - if (retcode < 0) { + if (retcode == -ENOENT) { + // don't retry if bucket instance does not exist + tn->log(10, SSTR("bucket instance or log layout does not exist on source for bucket " << source_bs.bucket)); + yield call(rgw::error_repo::remove_cr(sync_env->driver->svc()->rados, error_repo, + error_marker, timestamp)); + return set_cr_done(); + } else if (retcode < 0) { return set_cr_error(retcode); } -- 2.47.3