rgw/multisite: add x-rgw-replicated-at header to replicated objects#55503
rgw/multisite: add x-rgw-replicated-at header to replicated objects#55503
Conversation
|
probably we don't need a nanosecond precision if we expect a user to take the difference between |
from rgw_rest_s3.cc, it looks like we're using |
|
@mattbenjamin could you describe what you had in mind? or may be refactoring call is ok too if you want to discuss it there. |
14674b8 to
bc70da5
Compare
|
this completely addresses getting the correct replication time from the source zone to its destination; I think Bloomberg framed the conversation as being about propagating the results back to the origin--which has several problems, though I can imagine a way to get the information there using the replication log; We should get them to do a code review of the current PR |
fixes: https://tracker.ceph.com/issues/64365 Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
bc70da5 to
9bd748d
Compare
|
would you mind adding a note to PendingReleaseNotes to advertise this new feature? something like
|
"user.rgw.replicated-at" Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
9bd748d to
626179f
Compare
done |
|
can you think of an easy test case we could write to exercise this? |
|
@smanjara i included this in a test batch that passed qa (https://pulpito.ceph.com/cbodley-2024-02-20_00:28:35-rgw-wip-cbodley-testing-distro-default-smithi/ with rerun https://pulpito.ceph.com/cbodley-2024-02-21_19:22:22-rgw-wip-cbodley-testing-distro-default-smithi/) |
thank you! |
| try { | ||
| ceph::real_time replicated_time; | ||
| decode(replicated_time, i->second); | ||
| dump_time(s, "x-rgw-replicated-at", replicated_time); |
There was a problem hiding this comment.
@smanjara i think we want to use dump_time_header() here instead? dump_time() is calling s->formatter->dump_string() to format this as json/xml
i'm tracking a regression here in https://tracker.ceph.com/issues/65373
fixes: https://tracker.ceph.com/issues/64365
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show 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 windowsjenkins test rook e2e