)]}'
{"id":"openstack%2Fswift~1001760","triplet_id":"openstack%2Fswift~feature%2Fthreaded~I019a17ff7cc5e8066a5aec7f103fbacf9f017a77","project":"openstack/swift","branch":"feature/threaded","topic":"eventlet-removal","hashtags":[],"change_id":"I019a17ff7cc5e8066a5aec7f103fbacf9f017a77","subject":"gunicorn: close finished connections on the worker thread","status":"MERGED","created":"2026-08-21 07:26:39.000000000","updated":"2026-09-16 15:04:26.000000000","submitted":"2026-09-16 15:04:26.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"1001760-eventlet-removal","meta_rev_id":"cd23fae521f075bb89e65859c2bf32ed91c48c27","_number":1001760,"virtual_id_number":1001760,"owner":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-09-16 15:04:26.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":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":2,"date":"2026-09-16 13:36:13.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"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":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"all":[{"value":1,"date":"2026-09-16 13:36:13.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"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":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-21 09:05:13.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":"78e75a9442f097f767647951088c62b698a3bf4c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-08-21 07:26:39.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"683e5f8ae412411286301a7bf4dda906843c76fe","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 09:05:13.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6006e0845e2c4b2087d3a91bb72da9a4\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8270b4e0541d446ca9822bf01df2edd4 : SUCCESS in 11m 29s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fda678ef360e40daa1ef5cedc50f6d14 : SUCCESS in 10m 53s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4e58b4f5f51145f5a93700d6853c0e36 : SUCCESS in 20m 01s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eef9c2d141e042c092bc067d91d98e10 : SUCCESS in 19m 30s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/39a40c0fe7724a929b9e175fd4f31114 : SUCCESS in 19m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e8ce6f4ae61e419f96a409eea51fbbd5 : SUCCESS in 8m 03s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/cf0d2ae37ce94336adeb6ce5977e958e : SUCCESS in 27m 03s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/b3a4233f5cf1476daba1285e45eb23c6 : SUCCESS in 25m 14s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/60ab51778cd943c79344eb82d01da9ea : SUCCESS in 14m 30s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/5f71d24046ef4fcebf7e04fedf9ec71e : SUCCESS in 16m 29s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/7bcb172237154f42ba8bee2ed704ca38 : SUCCESS in 17m 11s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/9fc70f5b2e1b4903812b7aa0be8cd84e : SUCCESS in 17m 53s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/adc37b5f86cb48f7af107cb132bdca48 : SUCCESS in 16m 18s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/3fdc9af51aac49d7aec468b569237390 : SUCCESS in 11m 12s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/aa9eba58bde74d269ed637f4a5c2b97d : SUCCESS in 7m 13s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b2419dc2776c4a6898909c10d8a94ff5 : FAILURE in 9m 50s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/aba108c288724c84ab9ded4ffb046a82 : SUCCESS in 9m 37s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/567c65e43f9b4749bc92a84e6fab6205 : SUCCESS in 1h 00m 17s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b9262caf19a141149bbe0eb49ac5fc67 : SUCCESS in 29m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8e85cb868a0840b1986e294c10a59e67 : SUCCESS in 4m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/80da0748ebd0465399abfa31bcb9356b : SUCCESS in 12m 00s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":1},{"id":"65f71bf8d836c14cd4d949e954029f641e5060ed","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 10:14:35.000000000","message":"Patch Set 1:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8e3d401c847e467b813fcff9626c4732\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/7090ca9a3bc8498ca584473898707142 : NODE_FAILURE Node(set) request ced5c000ffef4b629005fd3d4d93c467 failed in 0s","accounts_in_message":[],"_revision_number":1},{"id":"fb96b959d74ca4a23e332e8f7612cc44fd1d584f","tag":"autogenerated:gerrit:setWorkInProgress","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-08-28 16:36:02.000000000","message":"Set Work In Progress","accounts_in_message":[],"_revision_number":1},{"id":"8c75d75144864e0a58ae33b80f8c98a1cdd041e4","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-15 13:39:49.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"899c0bef0375382b4cc8d28c81c9c364d7707b76","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-15 14:19:36.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/af0e67614dfd49efb6ecdd242664102a\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/40f0f84ca0e94dda8c9fa69d42f4d303 : SUCCESS in 33m 37s","accounts_in_message":[],"_revision_number":2},{"id":"db905f38652eb315f178079cecdd630d33c27b55","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-15 14:42:34.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/36b55cbf3e844d1388a3f8f2e86fb6db\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3ed730c02bf84fb79e2144e101edbd25 : SUCCESS in 11m 02s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c398f08526cb49a68c26395a6b903dea : SUCCESS in 7m 12s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4ff1cb5fd2dc42c6a7f94d2df822d1df : SUCCESS in 11m 31s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b6d2f78321294466b0a35596adcbb46d : SUCCESS in 16m 49s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a47a494dc35645fba28b07cdefc796d1 : SUCCESS in 21m 16s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e1e96e8f7db3450083dafbf86aa900b3 : SUCCESS in 7m 23s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a681f3fbc4da4b4bb42bb3b9e32c7464 : SUCCESS in 20m 31s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/bd7fc551cb5548668cd4893d7a31bea1 : SUCCESS in 12m 24s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/c3bade6dad0f4162b1cfbd40998e3e29 : SUCCESS in 31m 25s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/a6518555637d414687cd310a15f755e1 : SUCCESS in 16m 26s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/2d5a657eea254af99324638ae850e8d7 : SUCCESS in 16m 22s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/fbb1505a36b54f73aa0c69feb66aadef : SUCCESS in 8m 55s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/4e6eec73ad75417da0bbcb2f045e3caf : SUCCESS in 15m 54s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/1312a1cdab7540e0aa1ee7b61e8ec338 : SUCCESS in 16m 50s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/85d1aec25f3a4375811352b7c8a2d07d : SUCCESS in 6m 12s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b2a52b58d2934b0aa331c8d5d28710e6 : FAILURE in 31m 30s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/8c97c43b9faa44c5ae3a44fd2fb7a12d : SUCCESS in 9m 04s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4ebead2549f64d7ea8a81497dbf7e5b4 : SUCCESS in 54m 16s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5129a81a7e9c444db9a420a8544c65fd : SUCCESS in 28m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cb4bf405ef574d59947e3d140dbee734 : SUCCESS in 3m 03s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/08e97af79c7741819a40b5e6826d1652 : SUCCESS in 19m 07s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":2},{"id":"2a39f98b0ebd34de1e75bd83f59f05530658d7a5","tag":"autogenerated:gerrit:setReadyForReview","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-16 13:36:05.000000000","message":"Set Ready For Review","accounts_in_message":[],"_revision_number":2},{"id":"3c1f1eaf8915a40773bc3edb199699c49ecf108a","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-16 13:36:13.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"5d979bae8fcc0c945b3380d8f67f4d9530996b3d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 13:36:42.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"e89283d3697f35bddce43f410a8961bdf19fbbb6","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 15:04:26.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fc5ca915c57348c29ac341306af7bc7f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1ef13095bb464ec7a249d8d7acd2c6f6 : SUCCESS in 10m 35s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b04dc7dd46b845c4abab4f873e8eeb6b : SUCCESS in 8m 42s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/49ac7cafb3c64083baedb513984671a4 : SUCCESS in 10m 04s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1f01754763a7493c9a013ed0ee88629e : SUCCESS in 26m 43s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/46d3ef33705c462abf6fdd9d5a2cb6bb : SUCCESS in 25m 16s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a619393821a64569a9ee4a5b2332349f : SUCCESS in 32m 21s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/5e5c3198941c4155a99be50c06e80e95 : SUCCESS in 21m 29s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/56449119a38347d092572a7a2319fd87 : SUCCESS in 15m 49s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/6ceb73bd394e43af9025431a7678f92f : SUCCESS in 16m 33s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/c40887e52b5c44e4a45cfad719cab50b : SUCCESS in 20m 33s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/eb46fa12808648de891e223178152142 : SUCCESS in 6m 48s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/15b3332522414e20a10e1ef08c7bfe05 : SUCCESS in 9m 17s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/f2bb0c95f6a04b50a48b621410ba3563 : SUCCESS in 1h 03m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/314c71ca9ca745e799b984454df1dfb4 : SUCCESS in 27m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6b931536b0f147389484ab44860ff0a2 : SUCCESS in 4m 39s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8773fa589a3f4d89aa714fa45fd44682 : SUCCESS in 21m 12s","accounts_in_message":[],"_revision_number":2},{"id":"cd23fae521f075bb89e65859c2bf32ed91c48c27","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 15:04:26.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"01ca43f58b384394ce3755f5e2c4ad07c48e27a0","revisions":{"ab01a4539dd1f2b831461b989370881d85e67c40":{"kind":"REWORK","_number":1,"created":"2026-08-21 07:26:39.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/60/1001760/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/1001760/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1001760/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1001760/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1001760/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/1001760/1"}}},"commit":{"parents":[{"commit":"ed9fa1f7640b3c2a0db50ac1c567769f81e274ec","subject":"gunicorn: drop three per-request syscalls from the gthread path","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ed9fa1f7640b3c2a0db50ac1c567769f81e274ec"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-08-20 14:27:09.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-08-21 07:17:02.000000000","tz":120},"subject":"gunicorn: close finished connections on the worker thread","message":"gunicorn: close finished connections on the worker thread\n\ngthread ends every request by waking the main thread to run\nfinish_request(). Only two of its three outcomes need that thread, the\nones handing the connection back to the poller. The third just closes\nthe socket and decrements a counter, which the worker thread can do.\n\nThat third case is the common one here: Swift\u0027s proxy opens a fresh\nconnection per backend request and closes it, so an object server takes\nthe close path on nearly every request and pays a pipe write, a poller\nwake and an epoll re-registration for nothing. The wake costs more than\nthe syscalls suggest - a second runnable thread turns each of the ~50\nblocking calls per request into a potential futex handoff.\n\nMeasured on an object server (16 KiB GET, concurrency 1, 420 requests,\nthreads\u003d1): 120.0 -\u003e 94.4 syscalls per request, futex 57.6 -\u003e 35.0.\n\nIt also keeps close_graceful() off the main thread, where its blocking\nread stalled every other connection for up to 2s.\n\nThe connection is still closed exactly once - the callback picks which\nthread runs finish_request, not whether it runs.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I019a17ff7cc5e8066a5aec7f103fbacf9f017a77\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\n(cherry picked from commit 5ede1299d6d78445ea45160b0ed94bd005fec054)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ab01a4539dd1f2b831461b989370881d85e67c40"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ab01a4539dd1f2b831461b989370881d85e67c40"}]},"branch":"refs/heads/feature/threaded"},"01ca43f58b384394ce3755f5e2c4ad07c48e27a0":{"kind":"REWORK","_number":2,"created":"2026-09-15 13:39:49.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/60/1001760/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/60/1001760/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1001760/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1001760/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/60/1001760/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/60/1001760/2"}}},"commit":{"parents":[{"commit":"aeffca3dd9efc6188aea78a3a90d44b2e09ca234","subject":"concurrency: set the socket timeout to the Timeout value","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aeffca3dd9efc6188aea78a3a90d44b2e09ca234"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-08-20 14:27:09.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-15 13:19:11.000000000","tz":120},"subject":"gunicorn: close finished connections on the worker thread","message":"gunicorn: close finished connections on the worker thread\n\ngthread ends every request by waking the main thread to run\nfinish_request(). Only two of its three outcomes need that thread, the\nones handing the connection back to the poller. The third just closes\nthe socket and decrements a counter, which the worker thread can do.\n\nThat third case is the common one here: Swift\u0027s proxy opens a fresh\nconnection per backend request and closes it, so an object server takes\nthe close path on nearly every request and pays a pipe write, a poller\nwake and an epoll re-registration for nothing. The wake costs more than\nthe syscalls suggest - a second runnable thread turns each of the ~50\nblocking calls per request into a potential futex handoff.\n\nMeasured on an object server (16 KiB GET, concurrency 1, 420 requests,\nthreads\u003d1): 120.0 -\u003e 94.4 syscalls per request, futex 57.6 -\u003e 35.0.\n\nIt also keeps close_graceful() off the main thread, where its blocking\nread stalled every other connection for up to 2s.\n\nThe connection is still closed exactly once - the callback picks which\nthread runs finish_request, not whether it runs.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I019a17ff7cc5e8066a5aec7f103fbacf9f017a77\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\n(cherry picked from commit 5ede1299d6d78445ea45160b0ed94bd005fec054)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/01ca43f58b384394ce3755f5e2c4ad07c48e27a0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/01ca43f58b384394ce3755f5e2c4ad07c48e27a0"}]},"branch":"refs/heads/feature/threaded"}},"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":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
