)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9f4748bf96c943fedd42779cc4d88262fad2bbee","unresolved":true,"context_lines":[{"line_number":16,"context_line":"the object from one policy to another."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Previously, attempting to invert a Timestamp which has non-zero offset"},{"line_number":19,"context_line":"would result in a ValueError. This means that objects moved by the"},{"line_number":20,"context_line":"reconciler could not be PUT to a versions container, either during"},{"line_number":21,"context_line":"reconciliation to a container with versioning enabled, or after"},{"line_number":22,"context_line":"reconciliation if versioning is subsequently enabled and the"},{"line_number":23,"context_line":"reconciled object is overwritten."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"This patch modifies the Timestamp inversion to support offsets."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"49ca297b_96805f68","line":23,"range":{"start_line":19,"start_character":30,"end_line":23,"end_character":33},"updated":"2024-11-26 18:45:22.000000000","message":"Turms out this is not the case because the reconciler uses an internal client which does not have object-versioning middleware, so it *is* able to PUT objects with a timestamp offset into a versioned or versions container. See https://review.opendev.org/c/openstack/swift/+/936257?usp\u003dsubmitted-together","commit_id":"2956988eff4dc7f6dab7b34f23161ef7f0ec7984"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9f4748bf96c943fedd42779cc4d88262fad2bbee","unresolved":true,"context_lines":[{"line_number":33,"context_line":"i.e. not strictly chronological ordering. This might be relevant if,"},{"line_number":34,"context_line":"prior to upgrade, an object PUT has written replicas of the object"},{"line_number":35,"context_line":"into multiple policies while versioning is enabled. A version ID is"},{"line_number":36,"context_line":"created in the versions container. The reconciler would re-write the"},{"line_number":37,"context_line":"object to the correct policy with an offset timestamp, creating"},{"line_number":38,"context_line":"another version ID in the versions container which would sort after"},{"line_number":39,"context_line":"the existing old-style version ID. Given that (a) both versions were"},{"line_number":40,"context_line":"in fact PUT at the same and (b) the user will be surprised to have 2"},{"line_number":41,"context_line":"versions, the author contends that the sort order is not significant"},{"line_number":42,"context_line":"in this case."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Change-Id: I357ed52b568d2e18d0bcba0880575ad83b002589"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"01323f15_655ed2aa","line":43,"range":{"start_line":36,"start_character":35,"end_line":43,"end_character":0},"updated":"2024-11-26 18:45:22.000000000","message":"see above - turns out the reconciler does not create versions when it moves objects","commit_id":"2956988eff4dc7f6dab7b34f23161ef7f0ec7984"}]}
