rgw: fetch_remote_obj() adds x-rgw-replicated-from headers#49767
rgw: fetch_remote_obj() adds x-rgw-replicated-from headers#49767
Conversation
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
i'll rebase and retest this. when i tested it as part of #47743, it didn't seem to capture the full trace when the zonegroup contained more than 2 zones |
9cc2f7a to
5b91dec
Compare
|
tested in a three-zone configuration: i created a testbucket on na-1 and uploaded an object, then waited for it to sync from na-1 -> na-2 and from na-2 -> na-3 a HeadObject request on na-1 returned no x-rgw-replicated-from header, as expected on na-2: this contains the trace from na-1 (which is correct) but also includes itself (not correct) on na-3: this contains the trace from na-2 (which is correct) but also includes itself (not correct). it's also missing na-1 from its trace |
i assume this is because it was replicated by bucket full sync instead of incremental, so it didn't get the full trace from the bilog entry |
8d64503 to
96ceadb
Compare
|
updated to ignore the updated testing of bucket full and incremental sync both show the expected behavior: |
|
@tcoldrick-bb this should be ready for use in https://tracker.ceph.com/issues/58911 |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
adds x-rgw-replicated-from headers for each zone in the object's replication path. the RGW_ATTR_OBJ_REPLICATION_TRACE attribute is stored as a vector instead of a set to preserve the replication order Signed-off-by: Casey Bodley <cbodley@redhat.com>
96ceadb to
9ec4fd7
Compare
|
friendly ping for reviews @yehudasa @smanjara @tcoldrick-bb |
data sync passes the
rgw_zone_set_entryfor the source zone/bucket intofetch_remote_obj(), which gets added to the object xattrRGW_ATTR_OBJ_REPLICATION_TRACE. s3 Get/HeadObject requests respond with ax-rgw-replicated-fromheader for each entry in this traceShow available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windows