]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: remove datalog keys from error repo on ENOENT
authorCasey Bodley <cbodley@redhat.com>
Thu, 7 Jul 2016 18:42:00 +0000 (14:42 -0400)
committerCasey Bodley <cbodley@redhat.com>
Wed, 24 Aug 2016 18:05:19 +0000 (14:05 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 16976eedb70292e821193e39bb577a68df1bc95a)

src/rgw/rgw_data_sync.cc

index f9804b64d7d2da10f53166cd5e623bbabcb0bcce..0ef55230ef929f164efbdbd9bd62803c7f9e53d5 100644 (file)
@@ -896,6 +896,15 @@ public:
 
       sync_status = retcode;
 
+      if (sync_status == -ENOENT) {
+        // this was added when 'tenant/' was added to datalog entries, because
+        // preexisting tenant buckets could never sync and would stay in the
+        // error_repo forever
+        ldout(sync_env->store->ctx(), 0) << "WARNING: skipping data log entry "
+            "for missing bucket " << raw_key << dendl;
+        sync_status = 0;
+      }
+
       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)));