)]}'
{"id":"openstack%2Fswift~1001762","triplet_id":"openstack%2Fswift~feature%2Fthreaded~I7ca21a1076219191d6f55ae9ba568bdadb8b8462","project":"openstack/swift","branch":"feature/threaded","topic":"eventlet-removal","hashtags":[],"change_id":"I7ca21a1076219191d6f55ae9ba568bdadb8b8462","subject":"Address remaining review comments on the eventlet-removal series","status":"NEW","created":"2026-08-21 07:26:39.000000000","updated":"2026-09-15 14:19:54.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":"4b415026f8e7e0b79e75f3311a4f06b68253bff5","_number":1001762,"virtual_id_number":1001762,"owner":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"actions":{},"labels":{"Verified":{"all":[{"value":0,"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":{"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-08-21 08:54: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":"2b5288391a2627f487f4fa16c31de4fa679d73b5","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":"f50da67551e1f76f112c85f40ae09e9430801388","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 08:54:13.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/84d01ab36e984c12a422bd8f1e8f6be6\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5953a3ebb636400fa792390cb1d5fd4d : SUCCESS in 11m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/625ca0cbe36f4bacbf4e28f478cde59d : SUCCESS in 11m 21s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/771096bbc4ec4323aa3ebe9f58682c66 : SUCCESS in 14m 06s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f325d6a5d53d47f78953ab94f9846a15 : SUCCESS in 16m 23s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6d9f7c1922194b25a88bf9b19d2eb475 : SUCCESS in 23m 09s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/7052d665de7344b5a713dad7f2d0f98a : SUCCESS in 8m 16s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/83245557736146dcb3f4a97b11344856 : SUCCESS in 19m 40s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/b44ebdb519d14d2dae93c8447496bbb8 : SUCCESS in 23m 04s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/3697b3572e4a40eeae05a4682b407a80 : SUCCESS in 33m 19s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/89a7ccf243064d36b5e83098db0b2595 : SUCCESS in 15m 34s\n- swift-tox-py3-no-eventlet https://zuul.opendev.org/t/openstack/build/3ab6b1a8376245a0b664d235cfcc9d45 : SUCCESS in 29m 10s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/f0f9f2081c9c4de9bd43b282b85bfb7d : SUCCESS in 15m 12s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/52728f5b5b6e42698733781aa2a9f6ac : SUCCESS in 15m 59s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/48282a13c91d4decaff8d3045d3b5d66 : SUCCESS in 10m 13s\n- swift-tox-func-no-eventlet-py312 https://zuul.opendev.org/t/openstack/build/40627ad4f481452f8ad89b059c49f284 : SUCCESS in 16m 21s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/4762ffac495646e5b70ed6e03fee781a : SUCCESS in 18m 50s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/db2065a601dd44f395bcd443d95a10ce : SUCCESS in 7m 24s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e123835413114b1f958572d84b1c6fae : FAILURE in 5m 34s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/a173e9f0291a46da85b49b3e70cc3bdc : SUCCESS in 9m 43s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/bfc89b46af70498887fe67ca5d3e9b1d : SUCCESS in 37m 42s\n- swift-probetests-no-eventlet-centos-9-stream https://zuul.opendev.org/t/openstack/build/93c9e3e04a034075986d726a0158c9bf : SUCCESS in 43m 46s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7c6db9df602a4f9da4ee1ab671372c4f : SUCCESS in 29m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/46b3d49ab6bd4ab7ba7785e5b7ed6238 : SUCCESS in 3m 34s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/43791f7c1e1c405cba42818723e22689 : SUCCESS in 21m 18s\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":"e3e9bbdd38c824b5080237788d92d4ebfe4e3751","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-21 10:36:53.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4fdf9223e7a541c7b972fc5be0c7cc25\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/7c1d13da2778488da640c4482f3b5e43 : SUCCESS in 1h 22m 10s","accounts_in_message":[],"_revision_number":1},{"id":"b3763934932a3ddac9a982fdd9eec64331f2d3f4","tag":"autogenerated:gerrit:newPatchSet","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: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"4b415026f8e7e0b79e75f3311a4f06b68253bff5","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-15 14:19:54.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4baaa546c28a4047bab3f1d06359772f\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/9e486a4730ce4b6fb6549056a6164c89 : SUCCESS in 31m 52s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"65c8a3cc0a587024e956a773617329804db9e2c7","revisions":{"33ca0d7412b6b61ade6ff332d8d177b5a1eac005":{"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/62/1001762/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/1001762/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1001762/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1001762/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1001762/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/1001762/1"}}},"commit":{"parents":[{"commit":"71e5940fa668ede97f5f6d3a8cd0e0b64204703c","subject":"guard gunicorn reload configuration failures","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/71e5940fa668ede97f5f6d3a8cd0e0b64204703c"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-08-20 14:23:51.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-08-21 07:17:02.000000000","tz":120},"subject":"Address remaining review comments on the eventlet-removal series","message":"Address remaining review comments on the eventlet-removal series\n\nThese stay in one commit because each edits an import line that later\npatches also touch, so folding them into the change they answer\nconflicts all the way up.\n\n- spawn() returns a ThreadWithResult (a threading.Thread subclass) whose\n  result starts as an INCOMPLETE sentinel, so a call returning None is\n  distinguishable from one still running (979576)\n- use spawn() for the replicator\u0027s child process reaper (979576)\n- trampoline() gets a docstring and rejects a call with neither read nor\n  write (979581)\n- document that sleep() cannot be interrupted by a Timeout and that\n  sleep(0) no longer yields (979575)\n- tests for sleep(), the trampoline and the INCOMPLETE sentinel\n- record why GreenDBConnection passes timeout\u003d0 to sqlite3 (979483)\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I7ca21a1076219191d6f55ae9ba568bdadb8b8462\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\n(cherry picked from commit 58ab28ec3f73ab760626b9d02e2c04ce26d8d556)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33ca0d7412b6b61ade6ff332d8d177b5a1eac005"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/33ca0d7412b6b61ade6ff332d8d177b5a1eac005"}]},"branch":"refs/heads/feature/threaded"},"65c8a3cc0a587024e956a773617329804db9e2c7":{"kind":"TRIVIAL_REBASE","_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/62/1001762/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/62/1001762/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1001762/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1001762/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/62/1001762/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/62/1001762/2"}}},"commit":{"parents":[{"commit":"38ab19803c9a90797036a559367e3f13f7dd0ba6","subject":"guard gunicorn reload configuration failures","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/38ab19803c9a90797036a559367e3f13f7dd0ba6"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-08-20 14:23:51.000000000","tz":120},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-09-15 13:19:11.000000000","tz":120},"subject":"Address remaining review comments on the eventlet-removal series","message":"Address remaining review comments on the eventlet-removal series\n\nThese stay in one commit because each edits an import line that later\npatches also touch, so folding them into the change they answer\nconflicts all the way up.\n\n- spawn() returns a ThreadWithResult (a threading.Thread subclass) whose\n  result starts as an INCOMPLETE sentinel, so a call returning None is\n  distinguishable from one still running (979576)\n- use spawn() for the replicator\u0027s child process reaper (979576)\n- trampoline() gets a docstring and rejects a call with neither read nor\n  write (979581)\n- document that sleep() cannot be interrupted by a Timeout and that\n  sleep(0) no longer yields (979575)\n- tests for sleep(), the trampoline and the INCOMPLETE sentinel\n- record why GreenDBConnection passes timeout\u003d0 to sqlite3 (979483)\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I7ca21a1076219191d6f55ae9ba568bdadb8b8462\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\n(cherry picked from commit 58ab28ec3f73ab760626b9d02e2c04ce26d8d556)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/65c8a3cc0a587024e956a773617329804db9e2c7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/65c8a3cc0a587024e956a773617329804db9e2c7"}]},"branch":"refs/heads/feature/threaded"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY"},{"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":""}}}]}
