)]}'
{"id":"openstack%2Fswift~1005300","triplet_id":"openstack%2Fswift~feature%2Fthreaded~I64ca4f1c1148798dc5618bea13a96dd13bd07f17","project":"openstack/swift","branch":"feature/threaded","topic":"eventlet-removal","attention_set":{},"removed_from_attention_set":{"6968":{"account":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"last_update":"2026-09-18 08:22:14.000000000","reason":"\u003cGERRIT_ACCOUNT_6968\u003e replied on the change","reason_account":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"}}},"hashtags":[],"change_id":"I64ca4f1c1148798dc5618bea13a96dd13bd07f17","subject":"utils: end pile iteration on the consumer\u0027s own count","status":"MERGED","created":"2026-09-11 16:34:10.000000000","updated":"2026-09-18 09:11:59.000000000","submitted":"2026-09-18 09:10:27.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":"1005300-eventlet-removal","meta_rev_id":"ac551d2062a5d758cf9e81ad2d77f804d96c89fd","_number":1005300,"virtual_id_number":1005300,"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-18 09:10:27.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-18 08:22:14.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-18 08:22:14.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-09-11 17:18:19.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":"CC"},{"updated":"2026-09-11 17:53:18.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":"7c042baa2cffe887d3f268cde43f38b3de29a210","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-11 16:34:10.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"fa22c6739dc32d29281a7c8b27b3d4cba71aec1e","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 17:18:19.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d05d13ac864a497cae9c2cffac1a0822\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b1a88489d5314332b171919165257bc0 : SUCCESS in 35m 02s","accounts_in_message":[],"_revision_number":1},{"id":"19835655c22d7ab3584e42e59687b4f89d0c10a8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-11 17:53:18.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/811c1ca2487b458bb4e6ca63f8efd6cf\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0002f6224f79463a89dbcd7e15771629 : SUCCESS in 6m 21s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/52277b7774c747c6bc30375e527c02e4 : SUCCESS in 9m 19s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/86aedcd02ec34fd58daa94ae5f3f9f00 : SUCCESS in 12m 01s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/48173e64eafd4e4baf5b1b32dd427c81 : SUCCESS in 17m 09s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/62906911548e49fc84e180fdbe7cf79d : SUCCESS in 25m 04s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e6a35bf262f44ab0b82610f010090653 : SUCCESS in 9m 30s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f912ec6dc42146f28cf3911f23775673 : SUCCESS in 12m 59s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/7e73596b8777475aaaca157cbec0b8bf : SUCCESS in 23m 09s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/34738b1026874eb68a5975925704b682 : SUCCESS in 22m 06s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/4faa17fbaaa34f91a0717f0532a1c241 : SUCCESS in 10m 36s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/024af0be4bb441c582b3723006ab46da : SUCCESS in 18m 43s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/9499c3d05d514c30a5f90a98d2b31164 : SUCCESS in 17m 16s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/fe02430022764e6dab653cdc9c0f7681 : SUCCESS in 13m 04s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/73c413cd619746b3a7c96825f6bbfe22 : SUCCESS in 18m 23s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/e2a7aa34b2654f55a10940d76beb5fa9 : SUCCESS in 19m 28s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/3ce1a9d203f64d3aaddfe44bc1ba54f5 : SUCCESS in 18m 53s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/dde101ec283b40e3804b6048a98eaf1b : SUCCESS in 8m 45s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/45ba85976ba1436b997b6e9b371abe55 : FAILURE in 31m 48s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/c1164ec4dd5f4956810d2268b07486ed : SUCCESS in 12m 35s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/79552085e9004ced929833c293e5b906 : SUCCESS in 1h 03m 38s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/08f6ea027aae464c989d6eb652be4bfc : SUCCESS in 1h 01m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/660e47c50eee46c0832ece3fb28939f5 : SUCCESS in 32m 16s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/09157cbe50444a91a9a80391552e3216 : SUCCESS in 4m 49s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/db6cc44099834aa2b3a1230b3e2aa8bb : SUCCESS in 20m 12s\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":1},{"id":"cbee39e9213f7b744a7b319bd16833835dc07645","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-15 15:47:12.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"eb8f9aff4df93df2fbc68663fc410a112a097f2b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-15 16:36:19.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e18be505a0e8497c9c3b5ddd1c0b14d6\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b44f32ca0e844e4b9859fd683294bfbb : SUCCESS in 34m 58s","accounts_in_message":[],"_revision_number":2},{"id":"6616270f9c463a59be43c07ee6eeea0d030c20ff","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-15 17:17:57.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/67740b553c374ef78a96b5c8f66ce661\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4ed0ee5efbc24f859091dbb3187d79b4 : SUCCESS in 11m 21s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ba6a2b83627d43cb8fadcf687888cbc1 : SUCCESS in 11m 06s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d8d1e0d4c1724c02879736a0a22a0bdd : SUCCESS in 11m 45s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1a00fc76c337495ab0c7ef2a43238ffe : SUCCESS in 23m 19s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5058bdac87e74ff8a35d8506fa3f3d89 : SUCCESS in 21m 48s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/faf753a4ea0e4dd6b15032764aa30729 : SUCCESS in 9m 20s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/ed6deb7798f14ef89ea40c61254cdb27 : SUCCESS in 24m 59s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/85af82faee9a400c9bf8151e1c86c8f3 : SUCCESS in 21m 14s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/d91a1e1a54f74c70895726e95b5a016a : SUCCESS in 35m 47s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/8bc6e61cb56d459791f96ba1fea2df7a : SUCCESS in 22m 53s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/c5beb4f5a3ea48a189778cadcebfb264 : FAILURE in 11m 07s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/6dcd92d4c0bd4405b4e871cf6812ca52 : SUCCESS in 9m 20s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/b43604847d9f4e319a19ea3f32a68592 : SUCCESS in 16m 02s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/9340e418628a42fbbced78df19c7c7b4 : SUCCESS in 18m 36s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/3842cdc3e4fc4b27bcf5d953ba67534e : SUCCESS in 8m 18s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/74a9d60663144cd19dae681140a1348f : SUCCESS in 18m 20s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/9e09f2f3e7ed4031952e8f03e21b4fda : SUCCESS in 7m 15s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/576e9fd637694ef18ac4a26dd9d8692a : FAILURE in 33m 15s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/e7aecac51bad4f67a4a2f27265e0e6d4 : SUCCESS in 5m 56s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/ba8c6a57342a4aabbe8089b5ab5f5a26 : SUCCESS in 1h 05m 57s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/4436f32501244416905621b0520efc9f : SUCCESS in 55m 41s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/8235454f7b114a1f98777550a88cb948 : SUCCESS in 27m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9305feee72b3494f99a8dd69b49e21fa : FAILURE in 4m 32s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/fd843565441f4c71a86c6f41943f6578 : SUCCESS in 19m 49s\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.\n  Comments left for invalid file swift/common/wsgi_gunicorn.py","accounts_in_message":[],"_revision_number":2},{"id":"8cd04a3fe535b4398f5dbca19ccd15e5498c4531","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-16 13:39:54.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"f49d11a838004fc2ac0ffce1d1a028fc2f660e81","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 15:10:44.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ff51273746f8487198038dd80c6439fb\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c5db937d487f442596ef55225a8dde0a : SUCCESS in 6m 31s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0b1319541ab74b849fa6345925036f51 : SUCCESS in 11m 05s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/83aab1221c854d6d8fe55af7387e42f1 : SUCCESS in 22m 28s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/eaf201352efc446ea88c726e3e5c3adc : SUCCESS in 21m 10s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c50b2ce256484222b2bd5ea1214fe2b1 : SUCCESS in 28m 56s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/a238287daffa4b2ab0fe511f97663cb0 : SUCCESS in 6m 00s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/2700ccee96794277a3511ba94ae18e81 : SUCCESS in 24m 06s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/d1af367f4cf4416b966ac2eadcd6723d : SUCCESS in 25m 24s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/436e0a32f09345db9110a460d3651df6 : SUCCESS in 32m 45s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/3c5d94e2072f4b2f8137c21c272361ec : SUCCESS in 21m 53s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/4c8aa4b9224c4f44a08ae91c461b1452 : SUCCESS in 21m 59s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/5ba5a8b024654504b20c787dbbd17a85 : SUCCESS in 14m 45s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/1f6cf10335fd44979603adcf864b4617 : SUCCESS in 17m 42s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/d68ef0b2ca4a4f1e8b938e29b5b89b49 : SUCCESS in 10m 55s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/a5f1d64f1811482cb5eae0bbd93422df : SUCCESS in 11m 18s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/c2c577b6843642588f545926568a96cb : SUCCESS in 10m 43s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f586bd5c418e4684a0f54f360d7ef357 : SUCCESS in 6m 44s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/37b1c565423842cf9f2814b316c3e8ed : FAILURE in 35m 44s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/2fc702fb7b8d45a7a92e3349f21bf057 : SUCCESS in 9m 02s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/cc98b39ac92d4d759595985223548f69 : SUCCESS in 59m 49s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/b30ded12cb404bba934a4456d0eaf550 : SUCCESS in 56m 44s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/3adc37685d2c4d36bb751015dd9ef118 : SUCCESS in 14m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e9b7e37300bd476381709f014b8ad3bc : SUCCESS in 4m 33s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1169feffde9d46bd8ae13a324620e332 : SUCCESS in 10m 54s\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-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-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.","accounts_in_message":[],"_revision_number":3},{"id":"4a68ff48d3b3859eab262ae7a20f6435a89abc82","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 17:48:41.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/bb66a7a914f94935bbbcd0a8239b575c\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b1f6bf8a9c034bdc9e3d359b0dee4b2e : SUCCESS in 1h 10m 26s","accounts_in_message":[],"_revision_number":3},{"id":"58e3863f9fca5662a52a8f8160c139483bf9a08d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-18 07:09:03.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"944cb8d1602bf2200e3677d61ef184fb462f9beb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 08:07:55.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5c5ca46d6bcc46cba3e68d10f3370617\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/1ffab5b835d24caf80d96a2e34266c73 : SUCCESS in 54m 13s","accounts_in_message":[],"_revision_number":4},{"id":"eff67df3a2bf6133b1d501acc5e7d6993db3d431","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 08:17:57.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dfc33d050d704c4780f2bb87069ec57e\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/88d23920826f4bb78f5ce02e47a29970 : SUCCESS in 10m 32s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f432af20857b473c8d2ff52d8f6e6192 : SUCCESS in 10m 44s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4e7defca4a1847cf94c9ae9278f0ac73 : SUCCESS in 16m 18s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c364c7b0fc6d45dbbc214149e94e0564 : SUCCESS in 20m 54s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ff67d1e2dcb745e4bbe983787fc0737f : SUCCESS in 22m 00s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/fdbb1e757be049f9a045c6a7ccec5d84 : SUCCESS in 5m 47s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/900da1bc93514cbc9cfc7f62bfa8dcb4 : SUCCESS in 26m 04s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/bbc990968c504fef806501eda99b2704 : SUCCESS in 12m 05s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/2378dae172274f0098d111d33906461e : SUCCESS in 20m 06s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/2cfc3200b2cb4733b8c01a23628e830b : SUCCESS in 17m 47s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/86abdd9821824d6e92dd156dbbab92de : SUCCESS in 10m 22s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/64ab2825e91d461ebe8de5898b0cbd8c : SUCCESS in 13m 31s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/5cc5cc3001574a5cbb2e98769bd7baf7 : SUCCESS in 8m 25s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/4c0eefdeb0514e2a8c62d6523717535c : SUCCESS in 15m 37s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/f6b71733ea07471eb3609318ebaf36ce : SUCCESS in 14m 23s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/3f9e7aa4d98f4c3094f3ef8880e92750 : SUCCESS in 18m 15s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/b663a4403cd9477895a6a1f1812d7403 : SUCCESS in 5m 12s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3ed7dd7077454c89b20981efe1511c4d : FAILURE in 30m 52s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/ac27d318502b4a14bf067a1b0471dd33 : SUCCESS in 8m 22s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/77ed4b2c68804bfdabf33be9e004d477 : SUCCESS in 1h 01m 33s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/6dc46536ac5d49e7b0d2e6e8b527c2f0 : SUCCESS in 42m 57s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a32f40332d934df1aea34bae485b24b0 : SUCCESS in 11m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/68f209067d9244c79cc639dfb1cef5d5 : SUCCESS in 4m 24s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/454cb964fc164d0a82e1f37dd0b08f4e : SUCCESS in 19m 49s\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":4},{"id":"e6fe59a27a24c65bec2ee7472791cbc56afe5c9d","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-09-18 08:22:14.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"7a5bd790aa22a4179ccc32a8337fe7489e6683e6","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 08:23:31.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"47f5ef38b019c54cc97259738e034f6e73038eeb","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 09:10:27.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e739b7cb6b7e4facab9495e27825ceaa\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1b85a3c67b804208a42accf502a4db4b : SUCCESS in 11m 43s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/6de9b66aaa1544cea893f93e80b254e0 : SUCCESS in 8m 38s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/82ad0258101849639d932348da9d3dd6 : SUCCESS in 6m 45s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/bc5e2c779f724340a17834b685f177b1 : SUCCESS in 26m 58s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/4ea5e5d12fc045e6980be5ba0e07d8e4 : SUCCESS in 24m 51s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/681a8e740d0c41228ce57ae5c029b70e : SUCCESS in 15m 35s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/baa9e9dd9627403b92344d3885df2181 : SUCCESS in 21m 03s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/2be697f8faef4790a8adfd5ac88dabb1 : SUCCESS in 14m 28s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/005692f67d394dbca00e184fc7fdc918 : SUCCESS in 17m 39s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/2180f94ed2ed4c7bbebfc63b2ee3fd11 : SUCCESS in 17m 33s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f451b6d363bb48d5b3b1b6605aea5359 : SUCCESS in 6m 51s\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/1e3de6db7a1e4ff3ace40fdbc7fc7efd : SUCCESS in 12m 58s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/3c3eab94c327479780691532546e6e62 : SUCCESS in 43m 32s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/3786a6df51d24275a49490a15ade4e99 : SUCCESS in 25m 30s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c934f816e97d42a68f142c6d0f28f165 : SUCCESS in 3m 38s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/83e7d8356fd8466d94edafbe2669788c : SUCCESS in 18m 10s","accounts_in_message":[],"_revision_number":4},{"id":"aeb451c4a31717daf80680f536e02fe03a1ff6d4","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 09:10:27.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"ac551d2062a5d758cf9e81ad2d77f804d96c89fd","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 09:11:59.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d7c6a4309ada4a698ea306a79a92a684\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e5801f7a2de140d9a2868efcb55f5409 : SUCCESS in 1m 06s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/c08135ca5bb64d22a7de78778fcc1443 : SUCCESS in 1m 05s (non-voting)","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"bb2e86945b0d4eea3873f70f81c6f61532d3f348","revisions":{"4bcc47952f87e8f2e9be7fbc82ea1964be019836":{"kind":"REWORK","_number":1,"created":"2026-09-11 16:34:10.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/00/1005300/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/00/1005300/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/00/1005300/1"}}},"commit":{"parents":[{"commit":"16f4d4d0f1de60f44440b75701a0e91423515381","subject":"gunicorn: keep the Expect header visible to the app","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/16f4d4d0f1de60f44440b75701a0e91423515381"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:19:48.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:49:10.000000000","tz":120},"subject":"utils: do not lose a pile result on the idle check","message":"utils: do not lose a pile result on the idle check\n\nGreenAsyncPile._next() calls get_nowait(). If the queue is empty, it\nreads _inflight and raises StopIteration when _inflight is 0. A worker\nputs its result, then decrements _inflight. With real threads, a worker\ncan do both between the two steps of the consumer. The pile then stops\nwith one result still in the queue. In the proxy, a PUT that succeeded\ngets a 503 response.\n\nEvery worker puts its result before it decrements _inflight. So when\n_inflight is 0, the queue holds all results. Read the queue again\nbefore StopIteration.\n\nChange-Id: I64ca4f1c1148798dc5618bea13a96dd13bd07f17\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4bcc47952f87e8f2e9be7fbc82ea1964be019836"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4bcc47952f87e8f2e9be7fbc82ea1964be019836"}]},"branch":"refs/heads/feature/threaded"},"efcb11377a278527c9ad3f36365d9592a94a7afb":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-09-15 15:47:12.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/00/1005300/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/00/1005300/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/00/1005300/2"}}},"commit":{"parents":[{"commit":"61664a28b9c975a2422e0a263a9b4c30cf3593c2","subject":"gunicorn: keep the Expect header visible to the app","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/61664a28b9c975a2422e0a263a9b4c30cf3593c2"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:19:48.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-15 13:19:46.000000000","tz":120},"subject":"utils: do not lose a pile result on the idle check","message":"utils: do not lose a pile result on the idle check\n\nGreenAsyncPile._next() calls get_nowait(). If the queue is empty, it\nreads _inflight and raises StopIteration when _inflight is 0. A worker\nputs its result, then decrements _inflight. With real threads, a worker\ncan do both between the two steps of the consumer. The pile then stops\nwith one result still in the queue. In the proxy, a PUT that succeeded\ngets a 503 response.\n\nEvery worker puts its result before it decrements _inflight. So when\n_inflight is 0, the queue holds all results. Read the queue again\nbefore StopIteration.\n\nChange-Id: I64ca4f1c1148798dc5618bea13a96dd13bd07f17\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/efcb11377a278527c9ad3f36365d9592a94a7afb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/efcb11377a278527c9ad3f36365d9592a94a7afb"}]},"branch":"refs/heads/feature/threaded"},"a6f7c4abd599dd76d483bdbc667921840cfca360":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-09-16 13:39:54.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/00/1005300/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/00/1005300/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/00/1005300/3"}}},"commit":{"parents":[{"commit":"4eddc6ea1ca6f398a454ab6ab5719fa4e496a707","subject":"gunicorn: keep the Expect header visible to the app","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4eddc6ea1ca6f398a454ab6ab5719fa4e496a707"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-11 13:19:48.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-16 13:31:49.000000000","tz":120},"subject":"utils: do not lose a pile result on the idle check","message":"utils: do not lose a pile result on the idle check\n\nGreenAsyncPile._next() calls get_nowait(). If the queue is empty, it\nreads _inflight and raises StopIteration when _inflight is 0. A worker\nputs its result, then decrements _inflight. With real threads, a worker\ncan do both between the two steps of the consumer. The pile then stops\nwith one result still in the queue. In the proxy, a PUT that succeeded\ngets a 503 response.\n\nEvery worker puts its result before it decrements _inflight. So when\n_inflight is 0, the queue holds all results. Read the queue again\nbefore StopIteration.\n\nChange-Id: I64ca4f1c1148798dc5618bea13a96dd13bd07f17\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a6f7c4abd599dd76d483bdbc667921840cfca360"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a6f7c4abd599dd76d483bdbc667921840cfca360"}]},"branch":"refs/heads/feature/threaded"},"bb2e86945b0d4eea3873f70f81c6f61532d3f348":{"kind":"REWORK","_number":4,"created":"2026-09-18 07:09:03.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/00/1005300/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/00/1005300/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/00/1005300/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/00/1005300/4"}}},"commit":{"parents":[{"commit":"65c8a3cc0a587024e956a773617329804db9e2c7","subject":"Address remaining review comments on the eventlet-removal series","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/65c8a3cc0a587024e956a773617329804db9e2c7"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-17 16:29:50.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-18 07:03:31.000000000","tz":120},"subject":"utils: end pile iteration on the consumer\u0027s own count","message":"utils: end pile iteration on the consumer\u0027s own count\n\nGreenAsyncPile._next() reads _inflight to decide when to stop. A worker\nchanges _inflight after it puts its result. With real threads, the\nconsumer can see the old value in both directions:\n\n- _inflight is already 0 while a result is still in the queue. The\n  pile stops early and loses the result. In the proxy, a PUT that\n  succeeded gets a 503 response.\n- _inflight is still 1 after the consumer took the last result. The\n  pile blocks in get() and no item ever comes. The reconstructor unit\n  tests hang this way in swift-tox-py3-no-eventlet until the job\n  timeout. Four builds timed out between 2026-09-14 and 2026-09-17.\n\n_pending counts the items that spawn() started and _next() has not\ntaken yet. Only the consumer changes it, so it is never stale. Stop\nwhen _pending is 0, otherwise wait for the next item.\n\nEvery job must put exactly one item for this to hold. A worker now puts\nDEAD for any BaseException, not only for Exception. The worker also\ndecrements _inflight before the put, so that inflight is 0 once the\nconsumer has taken the last item.\n\nChange-Id: I64ca4f1c1148798dc5618bea13a96dd13bd07f17\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb2e86945b0d4eea3873f70f81c6f61532d3f348"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/bb2e86945b0d4eea3873f70f81c6f61532d3f348"}]},"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":""}}}]}
