]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw/multisite: don't retry in error repo if bucket instance does not exist
authorShilpa Jagannath <smanjara@redhat.com>
Sat, 11 Mar 2023 20:06:05 +0000 (15:06 -0500)
committerShilpa Jagannath <smanjara@redhat.com>
Thu, 20 Apr 2023 17:09:34 +0000 (13:09 -0400)
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
src/rgw/driver/rados/rgw_data_sync.cc

index eca2bc95202bc756a5f1bfc7b611ce7a6abb4c30..c2a16b7157d918f2d4ab934ff3c865175369d1e7 100644 (file)
@@ -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);
       }