)]}'
{"id":"openstack%2Fswift~1003413","triplet_id":"openstack%2Fswift~master~Id79b62d929383421e1506c81e39ae0f0943110c7","project":"openstack/swift","branch":"master","attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-09-02 08:42:52.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Id79b62d929383421e1506c81e39ae0f0943110c7","subject":"sharder: harden automatic shard recovery","status":"NEW","created":"2026-09-02 07:31:47.000000000","updated":"2026-09-04 07:00:42.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":"394e28a6ea669561bfcf50b76f3e66550cafcabb","_number":1003413,"virtual_id_number":1003413,"owner":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-09-04 07:00:42.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-09-02 08:06:47.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-02 08:42:52.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":"5275d146c3f5a1787e6824d2472fbcd798735389","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-09-02 07:31:47.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"74175f22f05a427722a1b6b84bb7d0bc4c8e856d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 08:06:47.000000000","message":"Patch Set 1:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a3706269708f41a4830ee7797078d231\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/e7fda4d1f913473caaabdfe38c5dcde8 : FAILURE in 33m 00s","accounts_in_message":[],"_revision_number":1},{"id":"c9e81c851cae970711cb1a9a07556d8881093f0a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-02 08:42:52.000000000","message":"Patch Set 1: 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/27c50a1e076c4b4b9fb3f1cbe08414b9\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2db512a07ef540d68d826dba2304699c : SUCCESS in 10m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/780a14a3e5654adf86288c0be89b999f : SUCCESS in 9m 17s\n- grenade https://zuul.opendev.org/t/openstack/build/72cf480bacf445308d785bedf0f3574c : SUCCESS in 39m 05s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7010f92cfa04486496ee0720763a7c85 : SUCCESS in 1h 03m 35s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/978c4e10d97742b4bdf35cbd3b97752a : SUCCESS in 37m 30s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c57312bdf0184145bd8d05397f7352cd : SUCCESS in 36m 40s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/86734c57eb90477b8ffba848c9a303d1 : SUCCESS in 18m 40s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/3d9f7c190fb049b194eae0dac097130b : SUCCESS in 19m 48s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/4550834f9564467d9cb316099eb009ea : SUCCESS in 20m 32s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/00ad2da90ed74bd79baf8c6e7c5c4fd4 : SUCCESS in 7m 55s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/2eef088e73684c2593d2cee438236966 : FAILURE in 25m 43s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/60c195f0a92b431aa08d159178e3a2d9 : FAILURE in 21m 10s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/a9964d2efc444fb5b575e412203cfc5a : FAILURE in 32m 33s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/132d73a803bb41629982f1df79179a2a : FAILURE in 17m 15s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/c764132b7fd44371a4d5ea12333f75bd : SUCCESS in 15m 55s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/cc3c350051fc4b6d9fc4c51e3706b389 : SUCCESS in 13m 52s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/9344c3901fd744dfa643d36c53fa71c2 : SUCCESS in 9m 29s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/cb6537c42e264e73a20d0b5032aa6372 : SUCCESS in 12m 21s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6b10d05887d6413899f52cded5210c49 : SUCCESS in 6m 20s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/0c96e96688c54eeba185c8dbe97f08d7 : FAILURE in 34m 50s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/30331eebf01a4d16b4b6dda5c481f6a1 : SUCCESS in 7m 15s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/25b951048147404c904a02657e32ee66 : FAILURE in 1h 02m 35s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/4c013449ae75477c9edd30f19bfdd1f5 : SUCCESS in 50m 27s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ab67b9e689394166aa01f12c924883e8 : SUCCESS in 32m 47s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5c3f5a4270464b9babd093fc65dfee07 : FAILURE in 29m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ca9439191078436384e592c8cb01627b : FAILURE in 4m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/604733ecda544c84a1aeab1a27f5a690 : SUCCESS in 26m 40s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/47770a504d4e447f8bef68f70d734840 : SUCCESS in 58m 06s\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-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-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  Comments left for invalid file swift/cli/manage_shard_ranges.py","accounts_in_message":[],"_revision_number":1},{"id":"4c781f2e2d96074e49110fbc9416cf433593b537","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-09-04 05:52:44.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"595bd5390ed3b2e17ebffae5425e733adaccffe1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 06:31:16.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1c566086177b4b18adb3209ccdb83650\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/22086d3c9e664f04907048310f5be271 : SUCCESS in 36m 23s","accounts_in_message":[],"_revision_number":2},{"id":"394e28a6ea669561bfcf50b76f3e66550cafcabb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 07:00:42.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/932802ce44fc49dab26319e4ebf3ca35\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a07ef542c0dc4755afe5bda4847d33c3 : SUCCESS in 10m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c5df509cb7854df58b72fae6101d57cf : SUCCESS in 9m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/1f8cc22d81314cc585e6a1ff18e16fb2 : SUCCESS in 1h 00m 39s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/d8e9103f8ee543e9861422fcf847a3b3 : SUCCESS in 44m 13s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/76736e2dad49498ea13369c824ec220a : SUCCESS in 54m 06s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/7d36f9176901406589473ecb6897185b : SUCCESS in 57m 31s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2d50133ff4f2424683058ff8a7fc12ef : SUCCESS in 19m 28s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/dfbe34b5f31547518e7b7f7d89d0c2a6 : SUCCESS in 20m 29s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5615e5e970b84ce3bca33c6619dd6344 : SUCCESS in 19m 37s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3e2afd6e29c8407794053d35043f7f07 : SUCCESS in 6m 21s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/50ef2ea84c27428597241223edef4951 : SUCCESS in 22m 19s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/d3ef820bea4f445fb8fa93dcf0ddcb35 : SUCCESS in 20m 08s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/f28c192e2f6f4fc99bf35119a56feb1e : SUCCESS in 33m 56s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/c1fe23df1aca411cba4d1736c65edaea : SUCCESS in 18m 41s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/962558f4451b4069abf1977e1f0d0a7b : SUCCESS in 8m 25s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/b8e1608cb0c94ead99096e6b2ef42e73 : SUCCESS in 9m 56s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/5d416d5896eb4d62b83d998d39fea32a : SUCCESS in 17m 23s\n- swift-tox-func-py39-centos-9-stream https://zuul.opendev.org/t/openstack/build/c6114184db6c430597d83fd4bad96bec : SUCCESS in 16m 55s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c0cd449c81664607a05d346922516180 : SUCCESS in 9m 19s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/bd603491491a4a41a74b0a8c254e022d : FAILURE in 29m 05s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/977697974bfd429da3bb005542c15a4e : SUCCESS in 8m 50s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/357b2a29e2c14310a97165d1490eadea : FAILURE in 45m 06s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/22ca7f08613841fdb946ed583d805f4c : SUCCESS in 36m 40s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/d0dc613ff94e4141a9684a38de216571 : SUCCESS in 56m 11s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fba47119d43e4acba533f2f5d0587c19 : SUCCESS in 15m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cd6ba5dbd81e42f083125ac28ea063bd : SUCCESS in 5m 37s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8ad67cd2edf641ffb81f822fbd3b054a : SUCCESS in 20m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/418418652062446cb04f46b2dcb80a7e : SUCCESS in 26m 16s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-encryption-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job swift-tox-func-ec-py39-centos-9-stream-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"ffaaf4c6fb3c1de9ec30966ceaf2183cd1a2e0aa","revisions":{"d1268ca8b02d0aefee56e5b95c67ca4cd50bd0f0":{"kind":"REWORK","_number":1,"created":"2026-09-02 07:31:47.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/13/1003413/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/13/1003413/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/13/1003413/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/13/1003413/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/13/1003413/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/13/1003413/1"}}},"commit":{"parents":[{"commit":"e43145780f9214a33d83682a1ad4c081f186309d","subject":"container: Fill internal shard listing gaps","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e43145780f9214a33d83682a1ad4c081f186309d"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-08-31 03:36:46.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-09-02 05:49:46.000000000","tz":600},"subject":"sharder: harden automatic shard recovery","message":"sharder: harden automatic shard recovery\n\nAutomatic sharding needs the current index-0 source to complete a\ncleave while short replicas remain in CLEAVING.\n\nKeep authority local to that source, refresh its active token on each\nowner pass, and use range-specific tombstone counts and compatibility\nwrites for rolling upgrades. Existing repair and shrink mechanics\ncontinue to converge delayed replicas.\n\nThis deliberately avoids an all-primary protocol. Delayed replicas\nconverge through normal replication and audit repair.\n\nChange-Id: Id79b62d929383421e1506c81e39ae0f0943110c7\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d1268ca8b02d0aefee56e5b95c67ca4cd50bd0f0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/d1268ca8b02d0aefee56e5b95c67ca4cd50bd0f0"}]},"branch":"refs/heads/master"},"ffaaf4c6fb3c1de9ec30966ceaf2183cd1a2e0aa":{"kind":"REWORK","_number":2,"created":"2026-09-04 05:52:44.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/13/1003413/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/13/1003413/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/13/1003413/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/13/1003413/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/13/1003413/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/13/1003413/2"}}},"commit":{"parents":[{"commit":"a4f6579889d4bceb0c7e43bb99b191d2754b09b7","subject":"container: Fill internal shard listing gaps","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a4f6579889d4bceb0c7e43bb99b191d2754b09b7"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-08-31 03:36:46.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-09-04 05:02:48.000000000","tz":600},"subject":"sharder: harden automatic shard recovery","message":"sharder: harden automatic shard recovery\n\nAutomatic sharding needs the current index-0 source to complete a\ncleave while short replicas remain in CLEAVING.\n\nKeep authority local to that source, refresh its active token on each\nowner pass, and use range-specific tombstone counts and compatibility\nwrites for rolling upgrades. Existing repair and shrink mechanics\ncontinue to converge delayed replicas.\n\nThis deliberately avoids an all-primary protocol. Delayed replicas\nconverge through normal replication and audit repair.\n\nChange-Id: Id79b62d929383421e1506c81e39ae0f0943110c7\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\nCo-Authored-By: Codex \u003cnoreply@openai.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ffaaf4c6fb3c1de9ec30966ceaf2183cd1a2e0aa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ffaaf4c6fb3c1de9ec30966ceaf2183cd1a2e0aa"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"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":""}}}]}
