)]}'
{"id":"openstack%2Fswift~996122","triplet_id":"openstack%2Fswift~feature%2Fthreaded~I96423628a9a62d1099be7b9ff6a091a10e581b24","project":"openstack/swift","branch":"feature/threaded","topic":"eventlet-removal","hashtags":[],"change_id":"I96423628a9a62d1099be7b9ff6a091a10e581b24","subject":"obj: harden the replicator and reconstructor for real threads","status":"ABANDONED","created":"2026-07-06 15:47:22.000000000","updated":"2026-07-13 06:05:27.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"7bf9288f9ac8c3f4e6e389bf820c2fc339fd1b94","_number":996122,"virtual_id_number":996122,"owner":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-07-08 06:22:44.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-07 00:11:54.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-07-08 06:22:44.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":"826dd4cddecf989bb71aa61bfcedfda27a69d467","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-07-06 15:47:22.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6c25e8ff73ff28c52e9ee7bcf3c039a2785f9eeb","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-07 00:11:54.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1e5be138ec9945e983264ec9747a1fb7\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/f942a9eca3ad41978ac982150d51bf21 : SUCCESS in 1h 07m 14s","accounts_in_message":[],"_revision_number":1},{"id":"629ff0fb2ce05cd8e25299d285adb086a5a87252","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-07-08 05:01:57.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"b210cef1212559d8890b1993d40e637a87bb5465","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-08 06:22:44.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6ae66c89f66248058de36479f786db16\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c4ac6ab00d3b4ca6b13935ea93466c72 : SUCCESS in 14m 39s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a7abc209199f495ca3edac85b788e796 : SUCCESS in 8m 30s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0ecdacf6e03a487eb3c8c537c486b5b5 : FAILURE in 6m 23s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0f7e2f982f6043af965885e499cc53ed : FAILURE in 7m 31s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/46d5c6767e964ec08e606732fa9454a7 : FAILURE in 8m 03s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/af5fa48756914946a78635a3173f72ae : SUCCESS in 8m 47s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/bfb3a0fc6dcc416db3ea480e84dc0b58 : SUCCESS in 19m 06s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/35c4c9b56fad4b16a18bdaa14c87c396 : SUCCESS in 10m 44s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/2ad7fbbb280a44ca946c98d095e93115 : SUCCESS in 19m 06s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/6c25b8478abb4648b9f083dd545e7ea1 : SUCCESS in 11m 36s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/086ae3aa06e0451c9579f29b85a3e042 : SUCCESS in 16m 04s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/650ffaa78c204b1ebc95d04c538080ac : SUCCESS in 10m 32s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7d27c3bce4ab4cd288b9094ed97aac5e : SUCCESS in 10m 12s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f1c0c1e0dddf4137a0497553e9fae40d : RETRY_LIMIT in 6m 55s (non-voting)\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/a90c33323f4848b7bffc0fb263b54b64 : FAILURE in 40m 40s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/6cfbae0218ed4a14963d2fde4ed42e67 : SUCCESS in 6m 23s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/091c8ca0c00e453d842aa2d95d4eea5e : SUCCESS in 1h 03m 50s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7d2ef487a1574a3281a582e81a90844d : SUCCESS in 23m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/34827815a1b543f4beae854f69d8b70b : SUCCESS in 4m 58s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8662bb7141b5463992c7003e281481bd : SUCCESS in 19m 50s\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 .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-build-image.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .docker/config.json found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-build-image.  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":2},{"id":"91c014c8e389a3db3b2bfd3652d227e29bf5eb73","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-08 08:36:55.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0b94506a9641431e94b25bebfc366353\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/60d83800ea294ccb8d87263604a6772d : SUCCESS in 55m 29s","accounts_in_message":[],"_revision_number":2},{"id":"7bf9288f9ac8c3f4e6e389bf820c2fc339fd1b94","tag":"autogenerated:gerrit:abandon","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2026-07-13 06:05:27.000000000","message":"Abandoned\n\nRefactored - content moved into other patches.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"e65a7e1a0c9f1b525dfd4ccd0da22cd25772d24d","revisions":{"b87b1e3b382111ad5018242535a2fd262d5c2336":{"kind":"REWORK","_number":1,"created":"2026-07-06 15:47:22.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/22/996122/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/22/996122/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/22/996122/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/22/996122/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/22/996122/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/22/996122/1"}}},"commit":{"parents":[{"commit":"a9f73a732614747e5237befccca2bca1f483f74f","subject":"Port utils, logging and xprofile off eventlet","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a9f73a732614747e5237befccca2bca1f483f74f"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-07-03 16:43:40.000000000","tz":0},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-07-06 14:43:13.000000000","tz":0},"subject":"obj: harden the replicator and reconstructor for real threads","message":"obj: harden the replicator and reconstructor for real threads\n\nThe reconstructor\u0027s fragment read runs in a pool thread. Re-arm its\nwatchdog on the response-owned socket, since getresponse() detaches\nconn.sock, and add a wall-clock deadline so a dribbling peer cannot hold\nthe pipeline open. Wait on a stop event instead of an uninterruptible\nkill so the stats threads exit promptly.\n\nChange-Id: I96423628a9a62d1099be7b9ff6a091a10e581b24\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b87b1e3b382111ad5018242535a2fd262d5c2336"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b87b1e3b382111ad5018242535a2fd262d5c2336"}]},"branch":"refs/heads/feature/threaded"},"e65a7e1a0c9f1b525dfd4ccd0da22cd25772d24d":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-07-08 05:01:57.000000000","uploader":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"ref":"refs/changes/22/996122/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/22/996122/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/22/996122/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/22/996122/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/22/996122/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/22/996122/2"}}},"commit":{"parents":[{"commit":"ecfcb83f567c5ce172f749d19501eac426195dd4","subject":"Port utils, logging and xprofile off eventlet","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ecfcb83f567c5ce172f749d19501eac426195dd4"}]}],"author":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-07-03 16:43:40.000000000","tz":0},"committer":{"name":"Christian Schwede","email":"cschwede@mailbox.org","date":"2026-07-07 13:26:02.000000000","tz":120},"subject":"obj: harden the replicator and reconstructor for real threads","message":"obj: harden the replicator and reconstructor for real threads\n\nThe reconstructor\u0027s fragment read runs in a pool thread. Re-arm its\nwatchdog on the response-owned socket, since getresponse() detaches\nconn.sock, and add a wall-clock deadline so a dribbling peer cannot hold\nthe pipeline open. Wait on a stop event instead of an uninterruptible\nkill so the stats threads exit promptly.\n\nChange-Id: I96423628a9a62d1099be7b9ff6a091a10e581b24\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nSigned-off-by: Christian Schwede \u003ccschwede@mailbox.org\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e65a7e1a0c9f1b525dfd4ccd0da22cd25772d24d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e65a7e1a0c9f1b525dfd4ccd0da22cd25772d24d"}]},"branch":"refs/heads/feature/threaded"}},"requirements":[],"submit_records":[],"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":""}}}]}
