)]}'
{"id":"openstack%2Fswift~973659","triplet_id":"openstack%2Fswift~master~I1c2794bb7ac4eb984ae6b48f41ecafa76e9e7e4c","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 00:45:24.000000000","reason":"\u003cGERRIT_ACCOUNT_7233\u003e replied on the change","reason_account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}},"7847":{"account":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"last_update":"2026-01-30 01:53:08.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I1c2794bb7ac4eb984ae6b48f41ecafa76e9e7e4c","subject":"object_versioning: use same timestamp for version and subreq","status":"MERGED","created":"2026-01-16 17:43:41.000000000","updated":"2026-01-30 01:54:06.000000000","submitted":"2026-01-30 01:53:08.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"973659-p-timestamp-collision","meta_rev_id":"95137dfd9c741773b9c249cbac0963c7d9e67c98","_number":973659,"virtual_id_number":973659,"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 01:53:08.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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:18:00.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"]}],"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":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"all":[{"value":1,"date":"2026-01-30 00:45:24.000000000","permitted_voting_range":{"min":1,"max":1},"_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"]}],"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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-01-16 19:04:07.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:18:00.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"}],"messages":[{"id":"d3c12bdb6cfd17e5fef4d8c80f0e5252d94e1163","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":"449e98c40008226de8ccc305756a0452933125d7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-16 19:04:07.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3e2b4cb415e64366a7256de286f5dd64\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ced3aeab8b83491d8fd1ad3d44d32631 : SUCCESS in 10m 45s\n- grenade https://zuul.opendev.org/t/openstack/build/4c6de971da4e4111b23854ddbd3d407f : SUCCESS in 1h 00m 41s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/9ae39622b7694bb8919ed28bc99f5220 : SUCCESS in 1h 12m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/02206e495af14147b03d658c6e2e49d3 : SUCCESS in 52m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c917c4a55ef74254977edcbaf6b258f8 : SUCCESS in 55m 13s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/69688678f704403da3ada9cbca8c0065 : SUCCESS in 19m 40s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/514050e56522422583aeca863a998bd0 : SUCCESS in 17m 45s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/80cad2aec42345e2a6165a0cdda3f12d : SUCCESS in 19m 41s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/4ec89e1556c5420fb7db0ca9f42aac1c : SUCCESS in 8m 03s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f98611c687e5444eb913814eb2807f4e : SUCCESS in 26m 25s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/c1b663c8c443493daff5d922a74f9ce4 : SUCCESS in 22m 48s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/dc6d4c5804964751a11a7a12f61e1981 : SUCCESS in 29m 03s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/1833ed203ccc4601915f72314a6b0379 : SUCCESS in 26m 14s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/79bd4bdef56642b790a1da6bba38463f : SUCCESS in 15m 12s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1784a822d0024266a419e95e01c60131 : SUCCESS in 8m 51s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e3c5d37ed53e4bc5aa286bed1fa60105 : SUCCESS in 12m 42s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c5eaa83a138649e78e1e390d6a368124 : SUCCESS in 6m 18s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/4cf232d4f52a4643b2f8193fe72522d2 : SUCCESS in 15m 33s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/c34523c8275f485c942aeefaf253ddd8 : SUCCESS in 7m 52s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/7b5b1441f37743268375cec64fd4b757 : SUCCESS in 57m 40s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/08e90c15fbee4142b7b393e2b824ddd4 : SUCCESS in 50m 30s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/01428765d9f0439dac92a8ee95f3caba : SUCCESS in 52m 56s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d8a826b55eea4aefa6a0ed11df59ed5f : SUCCESS in 30m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e19a0fac1db948898b3fd0268478c88e : SUCCESS in 4m 52s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/2994334db01f4725a3dbb3a479b83604 : SUCCESS in 18m 02s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/b2f3b887e02147e19598cf85e21f94bb : SUCCESS in 39m 37s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/99e8ed48709e4d4e9291ac93603f2723 : SUCCESS in 58m 49s","accounts_in_message":[],"_revision_number":1},{"id":"fe874e34065248691f41fe62e5979bab018709b4","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-16 19:19:53.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/928b54df313d401aaf4a606973919514\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/8951626b1d814ff28c2a5fb1effce441 : SUCCESS in 1h 03m 23s","accounts_in_message":[],"_revision_number":1},{"id":"487c7648893f108020ab8651b8a5939d8b638e7d","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: Patch Set 1 was rebased. Commit message was updated.\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"2a013c7158e14941f503ef5209f83a0b7b029c64","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-19 19:36:02.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/d222b40f1fc14706ab9b5f9f359e213f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/71ff80e110ad45259fc99a27ae1a60c9 : SUCCESS in 8m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/362531adf7624266937d5c430553a5c6 : SUCCESS in 59m 42s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/49ac577c89144e8e8da93d53ebcc3dc4 : SUCCESS in 1h 03m 27s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a6402114cca2463fa947191350d15fdf : SUCCESS in 32m 00s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/28984acf0ada42518c25029dfc912f98 : SUCCESS in 47m 38s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/42e99f9907d347849312ab758763c80d : SUCCESS in 10m 47s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c8965b7fcf6c46d2a8551dc2afef13b0 : SUCCESS in 20m 26s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c486b9ecad3d4819a49fc00acd20cf98 : SUCCESS in 20m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/15bb5178e70540f1b95d149f6917a4ce : SUCCESS in 8m 57s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/30c2ec7085dd4aa08191afd2d406c5ce : SUCCESS in 29m 24s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/d5c0511a1134407d9af2801f9722c58b : SUCCESS in 20m 57s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/9809e4b1cde140e5925d44389c2ffc24 : SUCCESS in 21m 02s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5fb8fe5646d44921b6e8dc8b3d80db15 : SUCCESS in 22m 55s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5fd591e2dbe247999413a4033e986552 : SUCCESS in 13m 32s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/bda30a620b2d45a7b58f7043815e355b : SUCCESS in 15m 30s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2631fc7bb6ee432eb49900896b8a0623 : SUCCESS in 15m 59s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/4679d6c809e34b89883aed8781d2804a : SUCCESS in 3m 44s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ce2bb533132e40b2aef94db6120bfcfe : SUCCESS in 8m 32s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/ee6b8810e3ef4ef8b2bee4b833858118 : SUCCESS in 5m 13s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b5b8183b10ea4abcbe1e5a4b1392b746 : SUCCESS in 49m 37s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b9cdefff179d461395c578c68aa770bc : SUCCESS in 35m 50s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/5ffbca5b1319433493cbf53cb0d3dd07 : SUCCESS in 26m 47s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/29d68fd170af4704880df928da746d39 : SUCCESS in 27m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1d2a0dc6767e4d238ce791069731fa50 : FAILURE in 3m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f63b85347ce846a882f90dafa4f92b59 : SUCCESS in 11m 13s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/99f7634111c3435694a8dc31155149e4 : SUCCESS in 50m 26s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/563dde2a758f4f30bf7d73c5d0b1e607 : SUCCESS in 43m 39s","accounts_in_message":[],"_revision_number":2},{"id":"43cb5fb329c52c3725ed3fb3121fbb8f2d778b41","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-19 19:43:19.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e48aa219ea684cbcb49a6290579c7ac7\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/a43e602b3c39402b9b170b8f8253758c : SUCCESS in 1h 03m 52s","accounts_in_message":[],"_revision_number":2},{"id":"5150791a7aff3051c4de65f63687298f7e6dc158","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: Patch Set 2 was rebased.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"cfd9e6e2b8e7329f8f62c6dc2db229801e9f3bb4","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-20 17:57:50.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/defea292dd6c49a18c6c923d3fd02cdc\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/4cfe46a2542641ba82826515a2fa2a6d : SUCCESS in 49m 45s","accounts_in_message":[],"_revision_number":3},{"id":"59f26f6a3a3ace8758f4f9bf51c9201fdbd2630b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-20 18:26:30.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b5baa53388424e24906b2b0eb920d346\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9476ffe302cc48e990f31034d51968a8 : SUCCESS in 10m 39s\n- grenade https://zuul.opendev.org/t/openstack/build/cb0d6ee863ae4fb896b66e8c03bd1828 : SUCCESS in 36m 40s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/cfdbb883996a49f7ad30be184d66a038 : SUCCESS in 34m 32s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/25758d371ac14ab4a32749054b6accd0 : SUCCESS in 41m 54s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c98ace72b1d7414496a4227dc56889ab : SUCCESS in 1h 04m 57s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0fce7d037cfb427f83602add5b406272 : SUCCESS in 18m 02s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0228b6f63e7443aeb691d044cc386b40 : SUCCESS in 19m 16s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6cb25625050049a1a152cb36b46fd825 : SUCCESS in 19m 22s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/0892744baab540188003f34a9d7c5a1e : SUCCESS in 6m 52s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f6c9be89704943329fcead17bd9ef848 : SUCCESS in 29m 15s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/721f6ced46b343bdaebbde6415d10efa : SUCCESS in 15m 36s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/aa3ed4720c07432b88b36f3de31d5562 : SUCCESS in 21m 47s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/34e5f93b655f45d1b85bd7eceb76b9f7 : SUCCESS in 30m 01s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c2d1ba3d27ef4e60881edfb547b36b63 : SUCCESS in 16m 07s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/de92bd1001c244f89681d97dfdf9a6d0 : SUCCESS in 12m 50s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/c1230e780e364f4e84616da5ce96f71e : SUCCESS in 10m 06s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/83c932db04ae40f9ad12149b85ba2474 : SUCCESS in 8m 06s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ff608cfb3d9040358de681bcaac5c26b : SUCCESS in 20m 43s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/d3f34610f1e646288e47fa782071157d : SUCCESS in 8m 00s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/0453193f48fd48e4bf19ecd06ecbad1b : SUCCESS in 53m 16s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7e23aa296afe47448b67b6cc9b2e2fd4 : SUCCESS in 26m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ce6d82e7dfc343ce87626fdb3bfbca20 : SUCCESS in 54m 55s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/885e8e0139c14c518eaa0bcbadd2d39e : SUCCESS in 14m 10s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2a390bb09055451691850895f3b4eae2 : SUCCESS in 3m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/2779e10e80bd4cfdba549a402601452d : SUCCESS in 19m 08s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/50adbd1f0cc64735b7e3aa7225d87edf : SUCCESS in 38m 47s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/cdb94531814a46e08b8440e29c5addf9 : SUCCESS in 31m 30s","accounts_in_message":[],"_revision_number":3},{"id":"cb2c1e42edc62323ea5e29e8dc27b5c8c09759d7","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":"54ad5583cf9fdd69991c4f96050f2fb1344b4ff2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-29 05:09:09.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d10f680c78794bf0a52f19ef62be47c1\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d1d5ea8a3e8143a7ac03dd0d44487be5 : SUCCESS in 10m 14s\n- grenade https://zuul.opendev.org/t/openstack/build/23a0e108261843cf868006f5ae1f2c35 : SUCCESS in 1h 05m 45s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/df996b41d10b447997cfa4af647aca9f : SUCCESS in 1h 00m 31s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/14ccd3635b41485abdda5cc78c87473d : SUCCESS in 53m 16s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/89c98ccfbf164800aabed42ad3732597 : SUCCESS in 1h 03m 43s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eb252e54d3a84103ae8cecaed7826712 : SUCCESS in 18m 26s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fb7d90dd95524e9e814049985e046ae7 : SUCCESS in 19m 32s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3e0cc3ad53034c1086bd9b62717066ff : SUCCESS in 13m 29s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/9a63c077a50945e2850d1f465bb126fe : SUCCESS in 7m 38s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/b0db50cf217247eaa2fddda6abdf3903 : SUCCESS in 21m 50s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/c58dcf9b23204cd585ef9935de87eb9b : SUCCESS in 19m 39s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/85dff0791f3c4f7fb059f7ad58c11b1f : SUCCESS in 18m 52s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/806fff5f066c421c80de5718e4cf8005 : SUCCESS in 29m 29s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/abbba84aceed4e149c4a26fe3befc906 : SUCCESS in 15m 26s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1481d825d47344ae8356b2835c32e74c : SUCCESS in 14m 56s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/9ae4c8d6f0584d3faeb646ea34e36f06 : SUCCESS in 17m 53s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/2714757cd6a64ad788055b35149d25cb : SUCCESS in 7m 34s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/13e7091829274a309f39eb746730d0fe : SUCCESS in 14m 43s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/95a713e2cd9e40fabc31be0626e101be : SUCCESS in 7m 47s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/32d66cad8e5e40f883ee18d76fcb17ec : SUCCESS in 38m 32s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9687ab45ec9f4165b6faf7ebd7db22a2 : SUCCESS in 34m 05s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/8e236026ad5a4729bd6a1ba0fb706efe : SUCCESS in 47m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fc324e73371f4588b34b7fed80140af8 : SUCCESS in 28m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2c5e2c409c9a40fc802ecf577deae2c6 : SUCCESS in 4m 24s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/f81cf38fb5ee40b9bd6f16a8729759af : SUCCESS in 17m 45s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/6464f0d07bba4f7c9214fcc28328b91a : SUCCESS in 51m 28s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c8ab38291b4648ff8767045bdd5e2f7a : SUCCESS in 35m 04s","accounts_in_message":[],"_revision_number":4},{"id":"48dfe888dfbacdd377d8e6328823e3a1d5bc5268","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-01-29 05:18:00.000000000","message":"Patch Set 4: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"ddf82a44f1f9a23d94d6ac35c1ae3a4f8a7f5619","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-29 06:08:11.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/79036b1f11f940e6b1d4a357effbb9ff\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/1c14da91557548428fd7f9aca0f9a908 : SUCCESS in 1h 19m 41s","accounts_in_message":[],"_revision_number":4},{"id":"00de22e8c98c09b3b5c1af93bd38b12f97710aeb","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2026-01-29 11:13:15.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"39af34bc36468651eccff81b848b70f6a219c4b6","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-01-30 00:45:24.000000000","message":"Patch Set 4: Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"01382b51ca13de7aaa976445eb8ebb261fa8a777","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-30 00:45:51.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"d84cf8d0c1d5fe18bb1c250d66a7ac8d2fda7a89","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-30 01:53:08.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e5c9d8662b9d4dd68e04ac688db4d561\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3a0d51906ad240feb0689f4459aead3e : SUCCESS in 10m 32s\n- grenade https://zuul.opendev.org/t/openstack/build/d73852ac93f144248422ec02f6291d07 : SUCCESS in 34m 48s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/99c177b8153547f099004b925499e1b6 : SUCCESS in 40m 24s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/26c8734a84c9483fa3393510ac8d44d7 : SUCCESS in 39m 28s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b78a189865214e248f865e195f880137 : SUCCESS in 1h 02m 05s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/19fac869cd354f8cb2a5080b56d3ea73 : SUCCESS in 6m 56s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/60c06070da1a41f8b150c3933c1c37bd : SUCCESS in 17m 35s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/9a6738b10d5d41c2a70c82ca54c4d8a8 : SUCCESS in 21m 35s\n- swift-tox-py312 https://zuul.opendev.org/t/openstack/build/913ee408041d43ecb196f8ca8688523d : SUCCESS in 13m 22s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/5e1c033f330f4aef879b85fe65667b9f : SUCCESS in 19m 35s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/474f03d354684e0cb8d5eac66afb1b1f : SUCCESS in 16m 45s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/fa884a35dd794a4ab504dc373919ff0a : SUCCESS in 9m 15s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/e073ed13f8d6412485ba85110e7aff9a : SUCCESS in 12m 35s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/0e9b8ceef9e643b395c9b4c4e0103ea8 : SUCCESS in 4m 30s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/011a0b9f479049b6a1be2b63093f8271 : SUCCESS in 8m 19s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/100d0e15c2674980bd04d578e1eaa608 : SUCCESS in 54m 30s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/ad1c3b2215ab4cdabdad60529a09133d : SUCCESS in 33m 55s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/dfa021242e2045738d37a596128ef4f9 : SUCCESS in 53m 36s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a891e198a8af4b2c9132349a074666c9 : SUCCESS in 28m 12s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7a28a504bd3f4e51b370949969fccf2a : SUCCESS in 4m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ba7a98e8917c4ee1bd1b9f2edf73bc9c : SUCCESS in 14m 36s\n- tempest-integrated-object-storage-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/2f9e9fc16f31431db439917c9429b03b : SUCCESS in 33m 03s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/95455ad9909241e58ff0b8968ed61a54 : SUCCESS in 57m 15s","accounts_in_message":[],"_revision_number":4},{"id":"c5842bab65ea409ecdf89c948432a65afdbaabc6","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-30 01:53:08.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"95137dfd9c741773b9c249cbac0963c7d9e67c98","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-30 01:54:06.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d752b81a6aff4c9799084d9fab6f1a28\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aaca91b0626f43beb6685b0496f1af4b : SUCCESS in 44s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/e6a01a1bb7e2442789b87b7e174ff65f : SUCCESS in 42s (non-voting)","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"b16fef443fe4493694f4f80b48d05e025492d451","revisions":{"8b500708061ff22f42bccf2f76d78511d784a6ae":{"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/59/973659/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/59/973659/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/59/973659/1"}}},"commit":{"parents":[{"commit":"9fb5bb50285c2b02005520b70a6e3a728bbb9c81","subject":"proxy unit tests: add more x-timestamp assertions","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9fb5bb50285c2b02005520b70a6e3a728bbb9c81"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-16 16:19:49.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-16 17:40:04.000000000","tz":0},"subject":"object_versioning: use same timestamp for version and subreq","message":"object_versioning: use same timestamp for version and subreq\n\nPreviously, in object_versioning middleware, when writing a delete\nmarker to the versions container, the timestamp value used to\ncalculate the delete marker version id was different to the\nx-timestamp given to the delete marker PUT sub-request. This was\ninconsistent with the behaviour when writing a version to the versions\ncontainer, where the x-timestamp value of the PUT to the versions\ncontainer is the same as the value used to construct the version id.\n\nWith this patch, the same timestamp value is used for the delete\nmarker version id and the corresponding PUT sub-request.\n\nThe patch also adds tests to verify the x-timestamps that are applied\nby the object_versioning middleware.\n\nChange-Id: I1c2794bb7ac4eb984ae6b48f41ecafa76e9e7e4c\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/8b500708061ff22f42bccf2f76d78511d784a6ae"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8b500708061ff22f42bccf2f76d78511d784a6ae"}]},"branch":"refs/heads/master"},"3ba76593914fe895115ba81f9b1c981459d781d3":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_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/59/973659/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/59/973659/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/59/973659/2"}}},"commit":{"parents":[{"commit":"159ca1a18cf9a9fa6863ea7e483f22d4af4b70d7","subject":"proxy unit tests: add more x-timestamp assertions","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/159ca1a18cf9a9fa6863ea7e483f22d4af4b70d7"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-16 16:19:49.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-19 16:18:41.000000000","tz":0},"subject":"object_versioning: use same timestamp for version and subreq","message":"object_versioning: use same timestamp for version and subreq\n\nPreviously, in object_versioning middleware, when writing a delete\nmarker to the versions container, the timestamp value used to\ncalculate the delete marker version id was different to the\nx-timestamp given to the delete marker PUT sub-request. This was\ninconsistent with the behaviour when writing a version to the versions\ncontainer, where the x-timestamp value of the PUT to the versions\ncontainer is the same as the value used to construct the version id.\n\nWith this patch, the same timestamp value is used for the delete\nmarker version id and the corresponding PUT sub-request.\n\nThe patch also adds tests to verify the x-timestamps that are applied\nby the object_versioning middleware.\n\nThe FakeSwift test helper class is extended to support default\nresponses which will match any path for a given path. This allows\nrequests to be captured whose path may not be known a priori (for\nexample, the path to a new version object).\n\nChange-Id: I1c2794bb7ac4eb984ae6b48f41ecafa76e9e7e4c\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/3ba76593914fe895115ba81f9b1c981459d781d3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3ba76593914fe895115ba81f9b1c981459d781d3"}]},"branch":"refs/heads/master"},"dd8139bea737bd8500092a6fd4ab23bb4ee94fb0":{"kind":"TRIVIAL_REBASE","_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/59/973659/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/59/973659/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/59/973659/3"}}},"commit":{"parents":[{"commit":"997a4d310b0dc71d182c93ecab9d526902510b78","subject":"proxy unit tests: add more x-timestamp assertions","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/997a4d310b0dc71d182c93ecab9d526902510b78"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-16 16:19:49.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-20 11:13:45.000000000","tz":0},"subject":"object_versioning: use same timestamp for version and subreq","message":"object_versioning: use same timestamp for version and subreq\n\nPreviously, in object_versioning middleware, when writing a delete\nmarker to the versions container, the timestamp value used to\ncalculate the delete marker version id was different to the\nx-timestamp given to the delete marker PUT sub-request. This was\ninconsistent with the behaviour when writing a version to the versions\ncontainer, where the x-timestamp value of the PUT to the versions\ncontainer is the same as the value used to construct the version id.\n\nWith this patch, the same timestamp value is used for the delete\nmarker version id and the corresponding PUT sub-request.\n\nThe patch also adds tests to verify the x-timestamps that are applied\nby the object_versioning middleware.\n\nThe FakeSwift test helper class is extended to support default\nresponses which will match any path for a given path. This allows\nrequests to be captured whose path may not be known a priori (for\nexample, the path to a new version object).\n\nChange-Id: I1c2794bb7ac4eb984ae6b48f41ecafa76e9e7e4c\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/dd8139bea737bd8500092a6fd4ab23bb4ee94fb0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dd8139bea737bd8500092a6fd4ab23bb4ee94fb0"}]},"branch":"refs/heads/master"},"b16fef443fe4493694f4f80b48d05e025492d451":{"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/59/973659/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/59/973659/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/59/973659/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/59/973659/4"}}},"commit":{"parents":[{"commit":"4502b707e5531562eb9e41334490e7efb183d43e","subject":"proxy unit tests: add more x-timestamp assertions","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4502b707e5531562eb9e41334490e7efb183d43e"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2026-01-16 16:19:49.000000000","tz":0},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-01-29 03:55:28.000000000","tz":660},"subject":"object_versioning: use same timestamp for version and subreq","message":"object_versioning: use same timestamp for version and subreq\n\nPreviously, in object_versioning middleware, when writing a delete\nmarker to the versions container, the timestamp value used to\ncalculate the delete marker version id was different to the\nx-timestamp given to the delete marker PUT sub-request. This was\ninconsistent with the behaviour when writing a version to the versions\ncontainer, where the x-timestamp value of the PUT to the versions\ncontainer is the same as the value used to construct the version id.\n\nWith this patch, the same timestamp value is used for the delete\nmarker version id and the corresponding PUT sub-request.\n\nThe patch also adds tests to verify the x-timestamps that are applied\nby the object_versioning middleware.\n\nThe FakeSwift test helper class is extended to support default\nresponses which will match any path for a given path. This allows\nrequests to be captured whose path may not be known a priori (for\nexample, the path to a new version object).\n\nChange-Id: I1c2794bb7ac4eb984ae6b48f41ecafa76e9e7e4c\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/b16fef443fe4493694f4f80b48d05e025492d451"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b16fef443fe4493694f4f80b48d05e025492d451"}]},"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":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}}]}],"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":{}}}]}
