)]}'
{"id":"openstack%2Fswift~988133","triplet_id":"openstack%2Fswift~master~I6f24d7d0c14552a2e3053c6c3a0ed36c0666e6b7","project":"openstack/swift","branch":"master","topic":"fix-rebase-patch4","attention_set":{},"removed_from_attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-09-02 07:29:01.000000000","reason":"\u003cGERRIT_ACCOUNT_7233\u003e replied on the change","reason_account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}},"1179":{"account":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"last_update":"2026-09-03 00:13:47.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I6f24d7d0c14552a2e3053c6c3a0ed36c0666e6b7","subject":"sq: construct common object NodeIter in base","status":"ABANDONED","created":"2026-05-11 15:33:56.000000000","updated":"2026-09-03 00:13:47.000000000","total_comment_count":12,"unresolved_comment_count":7,"has_review_started":true,"meta_rev_id":"e4f9bcb1af3d10d029d442e85e8c279390a34041","_number":988133,"virtual_id_number":988133,"owner":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-01 23:54:43.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":{"recommended":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"all":[{"value":1,"date":"2026-09-02 07:29:01.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-05-11 16:16:07.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-05-11 17:14:48.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"},{"updated":"2026-05-12 07:40:14.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"}],"messages":[{"id":"dd43bb035aaef5b89ac925aded46c4376780acfc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-11 15:33:56.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0c54cc13b7c11f9c8e993e61748cad162ca27ae3","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-05-11 15:41:12.000000000","message":"Patch Set 1: Code-Review+1\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"cd821e4040433bcfafb3ecf81e269fef22fc6317","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-11 16:16:07.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/aebd8d37a68946ce8932a7d9a3038e97\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/b8a2a125552e4483b646332aac3945ce : SUCCESS in 33m 26s","accounts_in_message":[],"_revision_number":1},{"id":"8197c7f735add159d97c757ae5481280ed5d7031","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-11 17:14:48.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5580c2d4c8f5487dade5b78d16a2f9ad\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4841fe0df8bf4bfa8ef15a35007cf0cf : SUCCESS in 10m 29s\n- grenade https://zuul.opendev.org/t/openstack/build/342aeafd692a42299ce7750887136b21 : SUCCESS in 1h 05m 50s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/20b61f74f05e4c21a7cabe0086003cb0 : SUCCESS in 1h 08m 11s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f80e236de5b14bb9b278917a975ae1b1 : SUCCESS in 55m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/0ded6ff7afca46dcacebf45baa47c6a7 : SUCCESS in 1h 06m 48s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ae8ddd614ed244929f3a24cc18eecc9d : SUCCESS in 20m 55s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/091f2b67372e4e2b8dacb6f227fbcfc0 : SUCCESS in 21m 07s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/91b83b4273b8477dbaeb687fafdba135 : SUCCESS in 22m 35s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3cd726bba39041cea0b222a406c1c2a9 : SUCCESS in 6m 36s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/10e964db8c794176b0ba7ed58822bb6b : SUCCESS in 28m 45s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/9aee542494ce4036829ff2f1c10e171a : SUCCESS in 12m 22s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/34d78670e56a4b38b46c4770acfd98da : SUCCESS in 14m 57s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/7597e2130d6a4fa8a3114dfe8051c0df : SUCCESS in 21m 48s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/2d47e9fa68e744c6903f68cc04774699 : SUCCESS in 16m 24s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/3d399f4d7d9c4032844107a1f6f0509f : SUCCESS in 20m 49s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/baa8e0f3aa9c4a94be5456891dc1a645 : SUCCESS in 14m 36s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f83dce926bfa4de99131191a975d506f : SUCCESS in 8m 34s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/47c3d9fec5684826be009cfdb66eacfd : SUCCESS in 12m 24s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/f24e60a9663e4940bf260098d2c65a5b : SUCCESS in 12m 06s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1b5f28e518f44b2c8e3ad937a8aeb1e8 : SUCCESS in 44m 35s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8da8aae2f6f343d1a68341edadb2f846 : SUCCESS in 28m 25s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/0600789759114ca0be0f086562bf806a : SUCCESS in 37m 36s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/85eb675bd3084662a4b6551f159b41b2 : SUCCESS in 27m 19s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/01742abcb1cb4bf4952e303742593eff : SUCCESS in 4m 04s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/12069e82ee9144d0ae9ae364c2c53055 : SUCCESS in 11m 27s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/de904584e42d4beeb65099b06d30543e : SUCCESS in 1h 27m 02s","accounts_in_message":[],"_revision_number":1},{"id":"9cdc81fab2f55d9f215f8dd32ad140ac8cb3a342","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-05-12 07:40:14.000000000","message":"Patch Set 1: Code-Review+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"6061ee9388de25c4e4311e72e59a9ffdf5ccd04a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-01 22:40:19.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"da298e8e2e2060daa24472cf1df8ad1cc20beb39","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-01 22:54:50.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"807e9505f2e596d2e1b93ee73ad6f99d895381c4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-01 23:54:43.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8195e9d726ee4a44955e9a1ea7da3b6d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eb16e64839fa4c2c83c7c17367d2c508 : SUCCESS in 8m 07s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0c6cefd9e59f4df0b01917430e257887 : SUCCESS in 3m 48s\n- grenade https://zuul.opendev.org/t/openstack/build/bab140d6c9d346a393729abd7511a63b : SUCCESS in 1h 07m 38s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/89864a6ecaab489b9ae1bc2bda0b9e92 : SUCCESS in 30m 12s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f4801d9774e94bf59b769cb5042aa894 : SUCCESS in 29m 32s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b667bdf8f7894452ac2bb2dcd7ebefd3 : SUCCESS in 32m 01s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/94ecb3b905b4472fab0bc834dc96937e : SUCCESS in 19m 36s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d1fd12d47e104f09a99dfe81d8706108 : SUCCESS in 11m 08s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d1bb065fa1994b4b8351d39e79abdb82 : SUCCESS in 19m 39s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/4e4fb7fcbc32492ca5cf0aa8ea20a203 : SUCCESS in 6m 42s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/6445e739c38348ee8c883f771cf4c5a9 : SUCCESS in 27m 06s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/c0974eac72454c94b00a705ff4105030 : SUCCESS in 22m 45s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/6f124e4dd5a84f32babf4a0835645393 : SUCCESS in 33m 22s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/77bea7ad3aba4b8d923e2b8f0f95e74d : SUCCESS in 21m 26s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/0b7705e08a764b889d77bf545129e0ee : SUCCESS in 9m 10s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/2710b6f993d0403a9f9611206d40ddc8 : SUCCESS in 9m 11s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/deda331f93d04a22a17f1ce003956e0d : SUCCESS in 15m 08s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/983aa30414034102a2fed5388f8a5822 : SUCCESS in 17m 20s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/d5c32c36578849b1aab3a65f6795300d : SUCCESS in 6m 42s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/6eebd9b951684b498643d99cd4824daa : FAILURE in 26m 18s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/8119c920d7e04b52a996f0f38988fe6f : SUCCESS in 4m 47s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/9644006e9a034adaa0ff176c5e267975 : SUCCESS in 59m 55s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/d81006092fbd48deb0bdb44235553d32 : SUCCESS in 54m 11s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/3a99bf89838449ad8bb5703b9ed919de : SUCCESS in 50m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5c24c37b8d664460b3b1246feced4888 : SUCCESS in 31m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/eb8e4738fbf740eeb30e41c67038ae2d : SUCCESS in 4m 04s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/a4a40036a4374a568af5fe0b52963d36 : SUCCESS in 11m 14s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e760a55e9358499da174297aba7bbca4 : SUCCESS in 58m 57s\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":2},{"id":"abfea1e886861f2f2b022154a9425e0e4d2426f3","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-01 23:59:44.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0f6da9b619cc4ecba62dd9da61c4fd6b\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/5cd89b0014ff4b398c69660a346a9d02 : SUCCESS in 50m 30s","accounts_in_message":[],"_revision_number":2},{"id":"1b2ee0c0e33af1d9f4fae8d4cafdbf322baf4bc4","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-09-02 07:29:01.000000000","message":"Patch Set 2: Code-Review+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":2},{"id":"e4f9bcb1af3d10d029d442e85e8c279390a34041","tag":"autogenerated:gerrit:abandon","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2026-09-03 00:13:47.000000000","message":"Abandoned\n\nmerged into parent 939471: Limit node_iter on EC HEAD | https://review.opendev.org/c/openstack/swift/+/939471","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"f3146515635a52ccc98e675b39efe8352b34db11","revisions":{"66150fe7a1a3434f258ee8a34086047a2d233fa8":{"kind":"REWORK","_number":1,"created":"2026-05-11 15:33:56.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/33/988133/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/988133/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/988133/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/988133/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/988133/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/988133/1"}}},"commit":{"parents":[{"commit":"d280f5cff87e4ea7857c9fc9d0be8cd0224989cb","subject":"Limit node_iter on EC HEAD","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d280f5cff87e4ea7857c9fc9d0be8cd0224989cb"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-05-11 15:32:17.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-05-11 15:32:17.000000000","tz":-300},"subject":"sq: leave the call-sign alone?","message":"sq: leave the call-sign alone?\n\nChange-Id: I6f24d7d0c14552a2e3053c6c3a0ed36c0666e6b7\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/66150fe7a1a3434f258ee8a34086047a2d233fa8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/66150fe7a1a3434f258ee8a34086047a2d233fa8"}]},"branch":"refs/heads/master"},"f3146515635a52ccc98e675b39efe8352b34db11":{"kind":"REWORK","_number":2,"created":"2026-09-01 22:40:19.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/33/988133/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/988133/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/988133/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/988133/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/988133/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/988133/2"}}},"commit":{"parents":[{"commit":"d280f5cff87e4ea7857c9fc9d0be8cd0224989cb","subject":"Limit node_iter on EC HEAD","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d280f5cff87e4ea7857c9fc9d0be8cd0224989cb"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-05-11 15:32:17.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2026-09-01 20:45:44.000000000","tz":-300},"subject":"sq: construct common object NodeIter in base","message":"sq: construct common object NodeIter in base\n\nKeep object GET and HEAD NodeIter construction with the controllers.\nDeduplicate the common replicated GET/HEAD and EC GET case in\nBaseObjectController. EC HEAD derives its smaller effective node count\nbefore construction.\n\nMake node_count an explicit NodeIter construction input. Controllers\nsupply request-specific selection policy without rewrapping an iterator.\nThe default request_node_count callback remains until callers provide\nexplicit counts.\n\nThe proxy app\u0027s static configuration currently sits between controllers\nand NodeIter: NodeIter calls back for node counts and sorting, while\ncontrollers inject custom iterators for write affinity and recovery.\nThis starts moving static selection decisions to controller context.\nFuture callers can prepare explicit candidate iterators and counts from\npolicy options. NodeIter then uses app callbacks only for health\nfeedback and error limiting while consuming those selections.\n\nChange-Id: I6f24d7d0c14552a2e3053c6c3a0ed36c0666e6b7\nAssisted-By: Codex:gpt-5\nSigned-off-by: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f3146515635a52ccc98e675b39efe8352b34db11"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f3146515635a52ccc98e675b39efe8352b34db11"}]},"branch":"refs/heads/master"}},"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":""}}}]}
