)]}'
{"id":"openstack%2Fswift~990738","triplet_id":"openstack%2Fswift~master~I8164baa60be4bbf74c1cfe66d383ef62799e6598","project":"openstack/swift","branch":"master","attention_set":{"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-05-29 19:34:58.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I8164baa60be4bbf74c1cfe66d383ef62799e6598","subject":"sq? handle named-temp collision races","status":"NEW","created":"2026-05-29 18:05:07.000000000","updated":"2026-05-29 22:05:03.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"ee9ee2e81ba0625b0f5263a2a2dbeda93d22296c","_number":990738,"virtual_id_number":990738,"owner":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-05-29 19:34:58.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":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-05-29 19:34:58.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"}],"messages":[{"id":"091ffbdff707ff287e346e81644777fcc9029895","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-29 18:05:07.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0292b9790815d3990ebe15cb0959ba8e19b8fa67","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 19:34:58.000000000","message":"Patch Set 1: 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/90024be3aa4a4d8b86938d703fe2d780\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/33824bdcb8e343649d75d8610acf72ad : SUCCESS in 10m 51s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f5ca402573d84a699e6ee95ed154a7cc : SUCCESS in 8m 34s\n- grenade https://zuul.opendev.org/t/openstack/build/81711e3d2f264802ba39cbccfd7cc767 : SUCCESS in 36m 27s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/f8c2815898634cba9bda4ffc7b3e9f9c : SUCCESS in 59m 20s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/b8babf28e0204611afcd5b84ca1ce02f : SUCCESS in 43m 27s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/8e16c40b6b1e4b59b5dcc3f8fae03cc2 : SUCCESS in 1h 12m 20s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/926a356ef07b42469ff598a3de725642 : SUCCESS in 19m 26s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/15b0f18adfc444cc9e3bac98e2df0aa1 : SUCCESS in 16m 07s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5e614da940ce41cfbbd16bebdbf8b306 : SUCCESS in 12m 52s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/535c85fb14474faf947f742a4c036db8 : SUCCESS in 6m 21s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/40feb8b994034d51bc7cf4e8fb2d7581 : SUCCESS in 10m 11s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/4361c70c359546be8392ce72dd5e1d76 : SUCCESS in 17m 12s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/52029fa42d4c4b9788b1238f4ae58ea9 : SUCCESS in 30m 33s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/df93610f184244598a2cfde9e4b0de54 : SUCCESS in 21m 23s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/7e1c3af9cb5e4334b4ad9e9f6da3568d : SUCCESS in 16m 24s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/a082f7eb6f6742f084baf567e7db35b4 : SUCCESS in 17m 35s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/eff438b8a2114c68a492de74a28bafaa : SUCCESS in 15m 22s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/86be6f417a814bb39eae056379245def : SUCCESS in 6m 14s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/322240acbc834609997226fa64204a39 : SUCCESS in 17m 43s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/b38721f4d04944a5a62896e31a268972 : SUCCESS in 12m 08s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/bc19a53a0ce64838b1ea1e0b77fda615 : FAILURE in 1h 21m 13s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9eb4d6975e8648c29f1514b1705d029c : SUCCESS in 56m 51s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1b71155deed747fa814eca2c98b77d30 : SUCCESS in 36m 04s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/d78b3c5b753047f9869629e1a8353056 : SUCCESS in 13m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3f7e9c562b0149a2a9b25fbd5e13e130 : SUCCESS in 3m 58s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/96d3065ebf1f4356a18d799d74e38447 : SUCCESS in 11m 37s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5cbfe1bc00ea4a759637fc976ba7bae7 : SUCCESS in 50m 02s","accounts_in_message":[],"_revision_number":1},{"id":"ee9ee2e81ba0625b0f5263a2a2dbeda93d22296c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 22:05:03.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3f24ffce86c14e08b83dbf29eba3a83e\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/769b0762d41b4eda9f00e1b9aa440fea : SUCCESS in 1h 04m 54s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"419ed745819bfe07fe3c3087dadd6dd9ef70c425","revisions":{"419ed745819bfe07fe3c3087dadd6dd9ef70c425":{"kind":"REWORK","_number":1,"created":"2026-05-29 18:05:07.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/38/990738/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/38/990738/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/38/990738/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/38/990738/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/38/990738/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/38/990738/1"}}},"commit":{"parents":[{"commit":"9f7411de74169e38d642d31869f25df2653ce159","subject":"object-server: raise 500 on ec timestamp collision","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9f7411de74169e38d642d31869f25df2653ce159"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-05-29 16:17:40.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-05-29 16:25:25.000000000","tz":-300},"subject":"sq? handle named-temp collision races","message":"sq? handle named-temp collision races\n\nPublish named temporary files with the same metadata-aware FileExistsError\nhandling as O_TMPFILE/linkat writes. This keeps idempotent races from\nfailing when the existing object has matching metadata and preserves 500\nresponses for conflicting metadata.\n\nMove path-to-path hard-linking into common utils so named-temp publishing\nuses the same retry and fsync pattern as link_fd_to_path.\n\nAdd named-temp PUT race coverage and assert that the tests are actually\nusing os.link(), so linkat-capable test filesystems cannot accidentally\nbypass the fallback path. Update cleanup coverage to follow the new\nhard-link publish path.\n\nChange-Id: I8164baa60be4bbf74c1cfe66d383ef62799e6598\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/419ed745819bfe07fe3c3087dadd6dd9ef70c425"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/419ed745819bfe07fe3c3087dadd6dd9ef70c425"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
