]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw/multisite: remove source object's RGW_ATTR_OBJ_REPLICATION_TRACE during copy_object.
authorShilpa Jagannath <smanjara@redhat.com>
Wed, 10 Jul 2024 19:07:13 +0000 (15:07 -0400)
committerShilpa Jagannath <smanjara@redhat.com>
Tue, 23 Jul 2024 16:47:07 +0000 (09:47 -0700)
commit60e9fc7c3de4cae7b7e41ee571f2489fb41ef61a
treeba8d4666e9e5fcb81e06691b8740d85163486eaa
parent1c7dd7472a8aa5756d215ece8ec9c4ea9b1c4e64
rgw/multisite: remove source object's RGW_ATTR_OBJ_REPLICATION_TRACE during copy_object.
if a copy_object is executed on a replicated object, it fails to sync the copied object
to the original source zone where the source object was first written and replicated from.
this is because copy_object retains source attrs by default. when a get_obj() is issued
from a fetch_remote_obj() call during sync, we check for this RGW_ATTR_OBJ_REPLICATION_TRACE
and if that destination zone is already present in the trace, we return NOT_MODIFIED error,
thus failing to replicate the copied object.

also remove RGW_ATTR_OBJ_REPLICATION_STATUS and RGW_ATTR_OBJ_REPLICATION_TIMESTAMP

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
(cherry picked from commit 46eef5fb5c06ac1af723cba0e3c3980fb6a431ce)
src/rgw/driver/rados/rgw_rados.cc