)]}'
{"id":"openstack%2Fswift~973660","triplet_id":"openstack%2Fswift~master~Ic32d32f27157d1ba47e169ff1a22bce6f5a89395","project":"openstack/swift","branch":"master","topic":"p-timestamp-collision","attention_set":{},"removed_from_attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-01-30 05:27:36.000000000","reason":"Change was submitted"},"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-01-30 05:27:36.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ic32d32f27157d1ba47e169ff1a22bce6f5a89395","subject":"proxy app: assign timestamp in a single place","status":"MERGED","created":"2026-01-16 17:43:41.000000000","updated":"2026-01-30 11:01:07.000000000","submitted":"2026-01-30 05:27:36.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":8,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"973660-p-timestamp-collision","meta_rev_id":"0324befca4e743f57a7616acb836192bf7502dfc","_number":973660,"virtual_id_number":973660,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-01-30 05:27:36.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"all":[{"value":2,"date":"2026-01-29 05:36:21.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-01-30 04:19:56.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-01-30 04:19:56.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-01-16 19:05:45.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-01-29 05:36:21.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"},{"updated":"2026-01-30 04:19:56.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"}],"messages":[{"id":"577a86fdfa3ca4a2a76ae2e56baf616f126d5e56","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-01-16 17:43:41.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d1476ab1ee78e23b8936ccee3cfe0cd0cc5fc32f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-16 19:05:45.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b5d5b22bb41c494c82e1efe24f76c6b0\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/094b63802f714351be3adb39768b373f : SUCCESS in 10m 22s\n- grenade https://zuul.opendev.org/t/openstack/build/c83a1c8758794fdca52817d32b832677 : SUCCESS in 31m 16s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/290702bf418c4cec892f45a9ec40989d : SUCCESS in 36m 47s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/c5e2d11fa54142e582a7f47afebee7a5 : SUCCESS in 34m 47s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/af2da9dcaa484ed39cace2f20716a3e9 : SUCCESS in 55m 01s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a1c079c12e384569a2a6a8976506037b : SUCCESS in 17m 08s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d9d21e6eb2404d82a9c377fb1a2daefd : SUCCESS in 21m 29s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d979e25083bc40b199e171c5e55f887c : SUCCESS in 12m 16s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/2780410a19a14801bbbbfaccf40929e3 : SUCCESS in 4m 36s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c2dd660638b9464189c40446a33b0578 : SUCCESS in 24m 55s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/a1656114d6a342b5a6734155ea685df8 : SUCCESS in 9m 58s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/9621a35de975402b86d2da871594a384 : SUCCESS in 29m 50s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/fe0cfa662abe4d388848eea1245f820f : SUCCESS in 31m 25s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/251b7a7934f2431b88ccd0f3a64d427d : SUCCESS in 12m 46s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/db348988384744fabd5a111e57e20c30 : SUCCESS in 8m 20s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/80d2a5db11194cee8b31581a38c3847d : SUCCESS in 15m 13s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/7668b54d9e16415793f5a515be1ee149 : SUCCESS in 6m 46s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f0acee74e0fa4b6797e394e7621b1e53 : SUCCESS in 16m 09s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/5ac3a83722fc4f1dbd18dace330418b8 : SUCCESS in 11m 44s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/23846d36eba244bfafb2aacb54d5a36b : SUCCESS in 1h 13m 41s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/e05a6d1d02a24bebbcd355549a7c4ec1 : SUCCESS in 48m 46s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/41d1706c95e94283ab61920c75415cef : SUCCESS in 56m 13s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8cffb57340f642658fb4ec6aa42f05bb : SUCCESS in 26m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9bb5a32b39a34425b2ef05da671a494c : SUCCESS in 4m 37s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/5d579b475d5e40da856608b2e9cc3897 : SUCCESS in 17m 38s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/88a5c35e1809475e878a13b80ff62ac7 : SUCCESS in 50m 18s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c512c24fbc0746cebfcef883fe83312f : SUCCESS in 56m 44s","accounts_in_message":[],"_revision_number":1},{"id":"ba1709c265d35ac1e54ff99dd6af5272013fe2d1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-16 19:24:38.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d6deb6ff655f4f2583e0034efd988810\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/4d463f4c7f264e9b8e075ced34b24f2e : SUCCESS in 46m 21s","accounts_in_message":[],"_revision_number":1},{"id":"1aa6fdab12a7823c49154500f638092987e07208","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-01-19 18:25:13.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"420382ea502dbe04660ed99966ea8c4ce1671629","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-19 19:45:49.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/a1437da76f004f458ae71c6153504e2f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/684320d99b804fd7b50836a5ca23b835 : SUCCESS in 10m 05s\n- grenade https://zuul.opendev.org/t/openstack/build/cc8252f8bd2642c6b86110ccec2584ec : SUCCESS in 1h 01m 38s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b6904166afb94bc3876a4e34bb527fd3 : SUCCESS in 59m 40s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5c22243f93184e23b8fa74d44257b6dc : SUCCESS in 59m 20s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/0f82fc91c1ca4ff7aad23b9d644c65ee : SUCCESS in 59m 28s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f8d2f0e881524ed7b6e614f1bda8d2f8 : SUCCESS in 19m 05s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e68b3ed3b4ab438fadc300f2cddccda3 : SUCCESS in 19m 49s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fcbc46ef85bf4c5797549cf8b4287f91 : SUCCESS in 11m 03s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3f04ab1d5ce642498143bebbc3820534 : SUCCESS in 6m 49s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/8a6588a7cf1f4836b3351d360b832cdc : SUCCESS in 24m 42s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/85920a678563487f9ccde5ec777bb8d4 : SUCCESS in 16m 08s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/c5b26d8c42c44f5d8242ef297996a89f : SUCCESS in 34m 42s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/4c75623a46ad42a5a9d0fdb103aab1e3 : SUCCESS in 27m 49s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/d52991591f114c1b93e3213cd3e74492 : SUCCESS in 14m 47s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/4e9bc6cd210c4ae38bfec96a0e0d59e5 : SUCCESS in 14m 36s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/4f6413e6f75f403aa54369cda9e24cb1 : SUCCESS in 14m 45s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/3a8c2dd8e97d4352b46386b86d90e748 : SUCCESS in 6m 54s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3af9cd0ea2114dae99ceab869f24e520 : SUCCESS in 14m 48s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/ae613946e9ab489ca19c130ab41399aa : SUCCESS in 9m 07s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/af9e14b89c144f0a89c66a3cc393b338 : SUCCESS in 55m 12s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7e97843a378d4a5cb939cd09fdccbdc5 : SUCCESS in 22m 16s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4de42b22e445480d9ea57033023045b4 : SUCCESS in 49m 09s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/268a46f581784d8a8d8479af39ca149d : SUCCESS in 28m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6bf2c2a3c6474ac98287759ab3b3554f : FAILURE in 2m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1c63121800404d6a84a935c2d999e571 : SUCCESS in 18m 38s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/cc583a6e86ef48c89a22d4a57504d73b : SUCCESS in 51m 01s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4446f8b766844e2f905fbd055d1dc6ae : SUCCESS in 57m 32s","accounts_in_message":[],"_revision_number":2},{"id":"bff4999bf6f014c1a679058eebab5cc3169b3581","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-19 20:17:33.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5655874085c74d2b90d12ba9c8930a43\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/276ded4d4ce24cc4b6a0d0afab616ab4 : SUCCESS in 1h 29m 22s","accounts_in_message":[],"_revision_number":2},{"id":"6171a92a13cc087d9ca89cf3f0f83505da2d96d3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-01-20 17:05:12.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"8608a1101c0eb075133ed69ce4cc1970c3d9123f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-20 18:15:51.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d4f9829acf04411aa36f6bf4a358af5a\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1c06b47dbbc5407482e4c031bd55777a : SUCCESS in 4m 59s\n- grenade https://zuul.opendev.org/t/openstack/build/b9b1bcbc52d640e8ab04d1ba79aaf345 : SUCCESS in 58m 20s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/8224e38fe38e48ab9a541d6043b8561d : SUCCESS in 1h 02m 44s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1a5f6be1b0f74c7cbbf4c4e1745241a8 : SUCCESS in 55m 06s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2b1c0a34a4ac41ec8a8706c2cf129be4 : SUCCESS in 1h 07m 38s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/e809b72b71fe4a6f91b8677f182f08bd : SUCCESS in 24m 36s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/51ec44010d824962b2e7221f62f8ccc1 : SUCCESS in 18m 06s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eb831493d95c419997468f2b50b9c0a7 : SUCCESS in 20m 59s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/4d342644a39b48b08e2ad16827b3ca40 : SUCCESS in 9m 23s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ef2b7764960745f8a108f12432c68759 : SUCCESS in 24m 40s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/5e3bd5a9164044a48f7387c30a8c5a53 : SUCCESS in 21m 09s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/29529e1669954abfa0ce47fcf3c4a394 : SUCCESS in 34m 57s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/bb8874fbee294e94af9802fc1ee9c408 : SUCCESS in 29m 28s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/e75734e9db084e118a5536f82fd0cb23 : SUCCESS in 12m 45s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/c58618687d5c4b299bf35634efc3064d : SUCCESS in 15m 17s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/0db178803ece4934a5bce1ab9f79e842 : SUCCESS in 10m 05s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/5deea449b2c54fb3bd5c733f922ee49d : SUCCESS in 6m 18s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f78484c3b3cd4093895edb79df8834b2 : SUCCESS in 15m 50s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e6f79a3f3e8a4e99a4d24a6440556f99 : SUCCESS in 8m 48s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f1f460392a2b467d8eb8e3f83d234f58 : SUCCESS in 58m 28s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/c8b4cb8d83284ceda0e56a497c978554 : SUCCESS in 49m 18s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/550bcef09c584de7aa9ae50503d5905e : SUCCESS in 51m 08s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/3e71bca817e842e094db075121bcb7e8 : SUCCESS in 27m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/179553ccdd3642f3874d1da0a6ea55a7 : SUCCESS in 3m 25s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/2db9114737fe470f83057536eedc5851 : SUCCESS in 17m 34s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/6e0832dc0def474aa67c7d8c699f2f8f : SUCCESS in 47m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/28d96d9d389545798b40f0470c34103c : SUCCESS in 55m 18s","accounts_in_message":[],"_revision_number":3},{"id":"756f16d4d0d2208e814352a2438bf6c4179c5c11","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-20 18:20:55.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/52e9a21d49cd40729b81a0050a59ecb5\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/497dc65ebe034ea29684720d31a71a74 : SUCCESS in 51m 22s","accounts_in_message":[],"_revision_number":3},{"id":"615f5e0ec8226c5bee12aa02f4fa30cc07e9cb72","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-01-29 03:56:58.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":4},{"id":"f5f7b928e5258ce0862bb432b1dc47a9f1000e16","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-29 05:05:20.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4be7ffa58a6e45bb9f854b8f5edd5c9d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6ea4f08dd0da40c4953249e9e30cf929 : SUCCESS in 6m 21s\n- grenade https://zuul.opendev.org/t/openstack/build/0707112c35c24982bf8f637922684c9a : SUCCESS in 50m 55s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/13f3620542cf46279daba8554a023bd1 : SUCCESS in 57m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a04efc47b3444aaab18abd7ab7d459ff : SUCCESS in 54m 43s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/797fc8e402a540eaaa59e29e571f6bf9 : SUCCESS in 49m 47s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5fcbed1e1a17424fa7d098d749b6f992 : SUCCESS in 18m 31s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/642912f473434d92ae32eda6ce5c18cf : SUCCESS in 19m 53s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/77393152fae8457c9d34b92165eda8f8 : SUCCESS in 21m 16s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3add43f4f94c42019cf5383afc555de6 : FAILURE in 4m 50s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/431eb9aa876b45bb899ba1cfa8e861b9 : SUCCESS in 24m 07s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/a6c2522098fb4d6d94f6db47484f1b63 : SUCCESS in 18m 16s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/d08b84a2744d4e6d91502a1fd730086a : SUCCESS in 20m 48s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/651b168c508542f18bd4724ad8f5d9a2 : SUCCESS in 24m 25s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/93921ab7b0934580a9ed758c68efdd57 : SUCCESS in 13m 13s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/7b96ef2cd0d7476c9a31ff51e8159c6f : SUCCESS in 15m 51s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/60c5ee493056415a9434e049a8f5c7c3 : SUCCESS in 16m 23s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6b653a9a9aac4649b8b8e1f3318975cc : SUCCESS in 7m 02s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ae54efb9c21c45f198cfc377dae4f09c : SUCCESS in 14m 47s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/4e9b544166504b7a9fd6b489300d75cf : SUCCESS in 8m 34s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/291b53998a96465eb5e073a5a1aed4e2 : SUCCESS in 39m 52s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/38c896b11d3d47dda2b7df2bde4c72fe : SUCCESS in 56m 12s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d4fc3211451e4eee86343bddb83a5064 : SUCCESS in 1h 01m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/43820aed64014bc19bc321209e191c6b : SUCCESS in 26m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8138ff913dd84cddaa736096910b1e3d : SUCCESS in 3m 58s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b709fe4add354573b92c4a2f3adbc479 : SUCCESS in 18m 52s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/0467a1093ac24525aab217221bfae7c8 : SUCCESS in 41m 05s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4c1be338206f43caa661030b575df434 : SUCCESS in 53m 56s","accounts_in_message":[],"_revision_number":4},{"id":"49cc46338fd7456f431ff42785a8cd550f94e93d","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-01-29 05:36:21.000000000","message":"Patch Set 4: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"45301e759afd0d49782fe599bffd44730ccbaa00","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-29 15:27:44.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/58a104ec54114d2182a427167caa1ade\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/d202e3ceb3764542b28f98f3e77ebf59 : SUCCESS in 1h 01m 47s","accounts_in_message":[],"_revision_number":4},{"id":"927c00ebeede68bc25a6e1c1a49da3a0e45d0617","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-01-30 00:47:18.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"e80e84822b189cdbd9f670f99869ad3b2b3dc97c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2026-01-30 04:19:56.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":4},{"id":"403e25fe3f05f218e21847a4f78a2e6d82b46caf","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-30 04:20:19.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"8a6cb9c68b9461052c3a4ce08ce41526e1662d5d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-30 05:27:36.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/843c70c7f6294401b967df4af4acc934\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9b76682bf26a446b851284592e0997a8 : SUCCESS in 7m 59s\n- grenade https://zuul.opendev.org/t/openstack/build/49f93d23752f4fc79a9d22b93556e4b0 : SUCCESS in 57m 44s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/097b3f12876b49b99d93f9b7ad00e156 : SUCCESS in 1h 00m 26s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/18a5e2b1ab8f442890085c7dab6dd406 : SUCCESS in 32m 54s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/41e3cc423b5543f08b794aeba28fa818 : SUCCESS in 1h 02m 39s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/35f5d59cad74458998e5d86c086518b4 : SUCCESS in 6m 36s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/5ad5c4dcc74e4dd2b670ac66eb6521f2 : SUCCESS in 25m 14s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/6b407ffddd824689bb1cc945b2a574ab : SUCCESS in 21m 06s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/7d517c1b1d704b6f970fb2cbfc6e7d91 : SUCCESS in 17m 11s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/82119a88a4634dbcb3c1c022ff110a45 : SUCCESS in 30m 49s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5240644f4dda49b89d3a057554c7c9db : SUCCESS in 14m 39s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/0029e97c1d624a28bb937a8cac4400d2 : SUCCESS in 12m 37s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/cf87535c33b84dc38501c85b9b934302 : SUCCESS in 10m 06s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/8a4d206471ab457ba011d5682d32e794 : SUCCESS in 6m 17s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/562d8a6a1df0412c8821547bcc7cfc1f : SUCCESS in 12m 49s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/25bd9582f5084482be0eb7a421c0ed63 : SUCCESS in 54m 54s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/1168bfb8d2ba414394b3c62e27ddac7b : SUCCESS in 48m 35s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/420966d71b7c43888b89696788f558e4 : SUCCESS in 33m 05s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/f604b04cc8574e0c8a989f1be8a58e20 : SUCCESS in 28m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c0d09d468339423e832933a0018ecd81 : SUCCESS in 2m 19s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/7ffc9cdb53df44a3a3d57924adcf3920 : SUCCESS in 18m 13s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/0b0d276a6b57430ab7d6603139950239 : SUCCESS in 54m 01s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/dc65b3fbbeef43089327e9888bb32aa1 : SUCCESS in 55m 12s","accounts_in_message":[],"_revision_number":4},{"id":"a194e7a7f1b3abc7b5f9948a0779da3de132d4d7","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-30 05:27:36.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"5d22fa929c169193f05cbd0ded3feeccaee54f87","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-30 05:28:30.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5ba94816102847ac9d0da32455df9dea\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e993645520434617a412ca5f0e069a10 : SUCCESS in 43s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/7b65700fc5bc4819a7e3e8f7ce1d70fc : SUCCESS in 39s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"0324befca4e743f57a7616acb836192bf7502dfc","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-01-30 11:01:07.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"8d9cfa98805b41ec6a46a6976e544e943fcc1314","revisions":{"5cf424fba2da3d9cd46eb7c6daad42d8b9230aaf":{"kind":"REWORK","_number":1,"created":"2026-01-16 17:43:41.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/60/973660/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/973660/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/973660/1"}}},"commit":{"parents":[{"commit":"8b500708061ff22f42bccf2f76d78511d784a6ae","subject":"object_versioning: use same timestamp for version and subreq","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8b500708061ff22f42bccf2f76d78511d784a6ae"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-15 16:13:03.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-16 17:40:04.000000000","tz":0},"subject":"proxy app: assign timestamp in a single place","message":"proxy app: assign timestamp in a single place\n\nPreviously, requests would be assigned an x-timestamp header (if they\ndo not already have one*) by various means in the proxy account,\ncontroller and object controllers. With this patch, all requests are\nassigned an x-timestamp header at one place early in the proxy server\nApplication (i.e. the update_request method).\n\nBaseController.generate_request_headers now copies an x-timestamp from\nthe original request, rather than setting x-timestamp.\n\nNote: a request may already have been assigned an x-timestamp in\nmiddleware (e.g. SLO, object versioning). Previously, the proxy\nApplication would only set an x-timestamp header if none existed (in\nBaseController.generate_request_headers), *except* for container PUT,\nUPDATE and DELETE requests which would have an existing x-timestamp\nheader replaced (in ContainerController._backend_requests).\n\nWith this patch the proxy Application never overwrites an existing\nx-timestamp header.\n\nDrive-by: The BaseController.generate_request_headers orig_req\nargument is no longer optional. All existing call sites pass an\norig_req value.\n\nChange-Id: Ic32d32f27157d1ba47e169ff1a22bce6f5a89395\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5cf424fba2da3d9cd46eb7c6daad42d8b9230aaf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5cf424fba2da3d9cd46eb7c6daad42d8b9230aaf"}]},"branch":"refs/heads/master"},"029927ec9169f4f084254cb72dd3f66ae637b82f":{"kind":"REWORK","_number":2,"created":"2026-01-19 18:25:13.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/60/973660/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/973660/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/973660/2"}}},"commit":{"parents":[{"commit":"3ba76593914fe895115ba81f9b1c981459d781d3","subject":"object_versioning: use same timestamp for version and subreq","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3ba76593914fe895115ba81f9b1c981459d781d3"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-15 16:13:03.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-19 16:29:13.000000000","tz":0},"subject":"proxy app: assign timestamp in a single place","message":"proxy app: assign timestamp in a single place\n\nPreviously, requests would be assigned an x-timestamp header (if they\ndo not already have one*) by various means in the proxy account,\ncontroller and object controllers. With this patch, all requests are\nassigned an x-timestamp header at one place early in the proxy server\nApplication (i.e. the update_request method).\n\nBaseController.generate_request_headers now copies an x-timestamp from\nthe original request, rather than setting x-timestamp.\n\nNote: a request may already have been assigned an x-timestamp in\nmiddleware (e.g. SLO, object versioning). Previously, the proxy\nApplication would only set an x-timestamp header if none existed (in\nBaseController.generate_request_headers), *except* for container PUT,\nUPDATE and DELETE requests which would have an existing x-timestamp\nheader replaced (in ContainerController._backend_requests).\n\nWith this patch the proxy Application never overwrites an existing\nx-timestamp header.\n\nDrive-by: The BaseController.generate_request_headers orig_req\nargument is no longer optional. All existing call sites pass an\norig_req value.\n\nChange-Id: Ic32d32f27157d1ba47e169ff1a22bce6f5a89395\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/029927ec9169f4f084254cb72dd3f66ae637b82f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/029927ec9169f4f084254cb72dd3f66ae637b82f"}]},"branch":"refs/heads/master"},"52d0f075f10181b5c49c001aaebdf400b94e170d":{"kind":"REWORK","_number":3,"created":"2026-01-20 17:05:12.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/60/973660/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/973660/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/973660/3"}}},"commit":{"parents":[{"commit":"dd8139bea737bd8500092a6fd4ab23bb4ee94fb0","subject":"object_versioning: use same timestamp for version and subreq","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dd8139bea737bd8500092a6fd4ab23bb4ee94fb0"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-15 16:13:03.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-20 15:05:47.000000000","tz":0},"subject":"proxy app: assign timestamp in a single place","message":"proxy app: assign timestamp in a single place\n\nPreviously, requests would be assigned an x-timestamp header (if they\ndo not already have one*) by various means in the proxy account,\ncontroller and object controllers. With this patch, all requests are\nassigned an x-timestamp header at one place early in the proxy server\nApplication (i.e. the update_request method).\n\nBaseController.generate_request_headers now copies an x-timestamp from\nthe original request, rather than setting x-timestamp.\n\nNote: a request may already have been assigned an x-timestamp in\nmiddleware (e.g. SLO, object versioning). Previously, the proxy\nApplication would only set an x-timestamp header if none existed (in\nBaseController.generate_request_headers), *except* for container PUT,\nUPDATE and DELETE requests which would have an existing x-timestamp\nheader replaced (in ContainerController._backend_requests).\n\nWith this patch the proxy Application never overwrites an existing\nx-timestamp header.\n\nDrive-by: The BaseController.generate_request_headers orig_req\nargument is no longer optional. All existing call sites pass an\norig_req value.\n\nChange-Id: Ic32d32f27157d1ba47e169ff1a22bce6f5a89395\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/52d0f075f10181b5c49c001aaebdf400b94e170d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/52d0f075f10181b5c49c001aaebdf400b94e170d"}]},"branch":"refs/heads/master"},"8d9cfa98805b41ec6a46a6976e544e943fcc1314":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-01-29 03:56:58.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/60/973660/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/973660/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/973660/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/973660/4"}}},"commit":{"parents":[{"commit":"b16fef443fe4493694f4f80b48d05e025492d451","subject":"object_versioning: use same timestamp for version and subreq","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b16fef443fe4493694f4f80b48d05e025492d451"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-15 16:13:03.000000000","tz":0},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-01-29 03:55:28.000000000","tz":660},"subject":"proxy app: assign timestamp in a single place","message":"proxy app: assign timestamp in a single place\n\nPreviously, requests would be assigned an x-timestamp header (if they\ndo not already have one*) by various means in the proxy account,\ncontroller and object controllers. With this patch, all requests are\nassigned an x-timestamp header at one place early in the proxy server\nApplication (i.e. the update_request method).\n\nBaseController.generate_request_headers now copies an x-timestamp from\nthe original request, rather than setting x-timestamp.\n\nNote: a request may already have been assigned an x-timestamp in\nmiddleware (e.g. SLO, object versioning). Previously, the proxy\nApplication would only set an x-timestamp header if none existed (in\nBaseController.generate_request_headers), *except* for container PUT,\nUPDATE and DELETE requests which would have an existing x-timestamp\nheader replaced (in ContainerController._backend_requests).\n\nWith this patch the proxy Application never overwrites an existing\nx-timestamp header.\n\nDrive-by: The BaseController.generate_request_headers orig_req\nargument is no longer optional. All existing call sites pass an\norig_req value.\n\nChange-Id: Ic32d32f27157d1ba47e169ff1a22bce6f5a89395\nSigned-off-by: Alistair Coles \u003calistairncoles@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8d9cfa98805b41ec6a46a6976e544e943fcc1314"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8d9cfa98805b41ec6a46a6976e544e943fcc1314"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
