]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: bucket sync allows OP_ADD on versioned objects
authorCasey Bodley <cbodley@redhat.com>
Thu, 31 May 2018 18:13:40 +0000 (14:13 -0400)
committerPrashant D <pdhange@redhat.com>
Mon, 23 Jul 2018 05:03:44 +0000 (01:03 -0400)
operations like PutACL that only mutate object metadata do not
generate a link_olh entry, so they cannot be skipped. their bilog
entries don't have a versioned_epoch, so we skip the call to
set_olh() by passing an empty value to fetch_remote_obj()

Fixes: http://tracker.ceph.com/issues/24367
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7fb034ee5e98e7e991595c768a3a1da6c56f119c)

src/rgw/rgw_data_sync.cc

index d6a989a28d450766274a444bc3d3d0f201df3345..26f416e28c824f44d8e040a1fd03a307509d5d78 100644 (file)
@@ -2617,12 +2617,6 @@ public:
             retcode = -EIO;
           } else if (op == CLS_RGW_OP_ADD ||
                      op == CLS_RGW_OP_LINK_OLH) {
-            if (op == CLS_RGW_OP_ADD && !key.instance.empty() && key.instance != "null") {
-              set_status("skipping entry");
-              tn->log(10, SSTR("bucket skipping sync obj: " << sync_env->source_zone << "/" << bucket_info->bucket << "/" << key << "[" << versioned_epoch << "]: versioned object will be synced on link_olh"));
-              goto done;
-
-            }
             set_status("syncing obj");
             tn->log(5, SSTR("bucket sync: sync obj: " << sync_env->source_zone << "/" << bucket_info->bucket << "/" << key << "[" << versioned_epoch.value_or(0) << "]"));
             logger.log("fetch");