)]}'
{"id":"openstack%2Fswift~989600","triplet_id":"openstack%2Fswift~master~Id91c278bd9ab360823fae4a6ea033fcd79263a5f","project":"openstack/swift","branch":"master","hashtags":[],"change_id":"Id91c278bd9ab360823fae4a6ea033fcd79263a5f","subject":"Validate object update headers before container auto-create","status":"NEW","created":"2026-05-21 18:03:17.000000000","updated":"2026-05-21 23:27:25.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"6563c83971a3c41bcfdde4964c85292ecf03b431","_number":989600,"virtual_id_number":989600,"owner":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-05-21 19:28:23.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-21 19:28:23.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":"44dda26e8075cba4289b8cfcb5413b1ecc1e270b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"date":"2026-05-21 18:03:17.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b7656a462143398cbb07ef90235faedf3dc6200a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-21 19:28:23.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2887350e4f314c58a4be8ecc12a6e61f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a0f0ec2059e24610b078c6067df84cde : SUCCESS in 6m 27s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a6a6f9c654254a1199a87218719764f3 : SUCCESS in 7m 04s\n- grenade https://zuul.opendev.org/t/openstack/build/80ed05e25b0b4edda92e8a0af027b9e4 : SUCCESS in 1h 02m 22s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/594243ab0a094714b0f87a8e5cb96aa0 : SUCCESS in 39m 31s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5d00ff57a79c4daab3b29d5cc894aefd : SUCCESS in 59m 25s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/11d66156be3f465eaad6b78345ba355a : SUCCESS in 38m 42s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/00a63fccca4249e6b6940e94c3fdcc90 : SUCCESS in 15m 15s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/677d3535b8f942439ffa801f0a8d2088 : SUCCESS in 18m 01s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/db327cec94384da091d276f491783caa : SUCCESS in 18m 28s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b3cb3e235cb94fa59e7f08da9e19c002 : SUCCESS in 6m 38s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/b1eeba34005c46cba9020485ed2f2eb3 : SUCCESS in 25m 59s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9e72e6ada78346edbbb9d091ef4c2122 : SUCCESS in 17m 19s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/02370c3d176e4326891b7c077a6788ee : SUCCESS in 14m 35s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/d1332ee39456446a9d6e7e2072726550 : SUCCESS in 19m 31s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6058b691a543431ca978eef846beaa50 : SUCCESS in 9m 11s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/ec8f9a424a5b4c86a0c17586eeb83782 : SUCCESS in 14m 35s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/6df8b2d850904b1b904d091cdc18cdd9 : SUCCESS in 15m 52s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f8a384b196074b4e8ef8d9bd4ba67cbb : SUCCESS in 5m 31s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/ffbfef9627cb40afb08882a94d88d345 : SUCCESS in 22m 05s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0fa82e8c420642e581c3102523a80b36 : SUCCESS in 11m 51s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/dba5d68a6c2f4ced8fc62da423c38e32 : SUCCESS in 40m 01s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/cf2f5b552ec84ae480ada651c2c5712b : SUCCESS in 35m 42s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bd30a9acb3db4ec4913cf5f6405b8c49 : SUCCESS in 55m 16s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5ab566bba82d4b9a80b98e58af43926d : SUCCESS in 11m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/860eaef62c7148db8f94c1d556102ee1 : SUCCESS in 4m 20s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b48978ad6fe0445b8f1df0a990c71e83 : SUCCESS in 19m 22s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4e6fe9580a8249d880100b8d422da6dc : SUCCESS in 43m 12s","accounts_in_message":[],"_revision_number":1},{"id":"6563c83971a3c41bcfdde4964c85292ecf03b431","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-21 23:27:25.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3c6616ca80034cccbabad151b345ba9a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/ce3345b0dda54f70b463fca19c83b27c : SUCCESS in 58m 41s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"c8986c6cc97da282439053e5d709a13daba38944","revisions":{"c8986c6cc97da282439053e5d709a13daba38944":{"kind":"REWORK","_number":1,"created":"2026-05-21 18:03:17.000000000","uploader":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"ref":"refs/changes/00/989600/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/00/989600/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/989600/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/989600/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/989600/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/00/989600/1"}}},"commit":{"parents":[{"commit":"ca8749f344168ad1c4e07fdfd24e68ca04c57eae","subject":"test_sharder.py: pass timestamp strings to put_object","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ca8749f344168ad1c4e07fdfd24e68ca04c57eae"}]}],"author":{"name":"John Dickinson","email":"me@not.mn","date":"2026-05-21 17:49:16.000000000","tz":-420},"committer":{"name":"John Dickinson","email":"me@not.mn","date":"2026-05-21 18:03:15.000000000","tz":-420},"subject":"Validate object update headers before container auto-create","message":"Validate object update headers before container auto-create\n\nContainer PUT_object can call _maybe_autocreate() before reading required\nobject-update headers. Missing X-Size, X-Content-Type, or X-Etag headers,\nor a malformed X-Size value, can create an empty container DB before the\nrequest fails with a server error.\n\nParse and validate the required object-update headers before auto-create.\nMalformed requests now return 400 without creating a container database,\nwhile valid requests reuse the parsed values for the broker update.\n\nCloses-Bug: #2153523\nAssisted-By: Codex (GPT 5.5)\nChange-Id: Id91c278bd9ab360823fae4a6ea033fcd79263a5f\nSigned-off-by: John Dickinson \u003cme@not.mn\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c8986c6cc97da282439053e5d709a13daba38944"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c8986c6cc97da282439053e5d709a13daba38944"}]},"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":""}}}]}
