)]}'
{"id":"openstack%2Fswift~984504","triplet_id":"openstack%2Fswift~master~I6e1f538fd62e324709d37fb57bb9ab9781a129b3","project":"openstack/swift","branch":"master","topic":"add_cleaving_state","attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2026-04-16 08:25:57.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I6e1f538fd62e324709d37fb57bb9ab9781a129b3","subject":"Auto-sharding: When finding shard candidates also set authority","status":"NEW","created":"2026-04-14 07:15:42.000000000","updated":"2026-06-17 09:45:59.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":3,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"c996a52722b5024f0a6882daa3949c60e1b83e18","_number":984504,"virtual_id_number":984504,"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":[{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-06-16 05:37:25.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":-2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"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":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_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":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-04-14 07:56:10.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-04-14 08:41:10.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":"f0587de63a1d87a1bba86241e11ca2c5d402c488","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-04-14 07:15:42.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3e2fb67228e9d656b2be9839d5ea166c18823c68","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-04-14 07:16:25.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"f007f22a36dd8da6077a7b5d674d9c641ae264a5","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-14 07:56:10.000000000","message":"Patch Set 1:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4af500aaa6ac4e14977169fbb0879fe3\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/4cc6e3161c1e4bdc9e96fc8f7c50d461 : FAILURE in 36m 10s","accounts_in_message":[],"_revision_number":1},{"id":"8c619e6f35455306a699e74189d067381f17d989","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-14 08:41:10.000000000","message":"Patch Set 1: Verified-1\n\n(1 comment)\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/d621a640240642d5b581f1fd039773a0\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5bf75b84a4e441f4979cada0fc78cb13 : SUCCESS in 9m 44s\n- grenade https://zuul.opendev.org/t/openstack/build/231f61a787c1423d9a489987ab0d1ae1 : SUCCESS in 1h 18m 51s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/31c5833d8e6a4e76a4d76b1ee9c47828 : SUCCESS in 1h 04m 50s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/49845b1fb78c4f0aa15086ac870b3106 : SUCCESS in 42m 00s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/9bf3be86cc0e45d19bb78d5b5a366464 : SUCCESS in 53m 04s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1405702fc8a841ecb4498dbc77f5c0de : SUCCESS in 21m 12s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f67424cdc33148c6a0b5458917ff2717 : SUCCESS in 18m 54s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/6db235776a8e4477b25e19bed1da7840 : SUCCESS in 19m 34s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f95c355947034ba09a3694a551c946e3 : SUCCESS in 4m 40s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/c210b27301a24ed0b64ae4b5938e7365 : FAILURE in 21m 14s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/f040d1acd7024091a26b12e5789dd70e : FAILURE in 9m 33s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/61332072a24443d49d50ba4d534d04d0 : FAILURE in 21m 23s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/8bdd8bb509624b3ca5044d34cb9d61d1 : FAILURE in 25m 28s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/cd5800d8e19d4d79b898413a17476cc1 : SUCCESS in 15m 09s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/f76da78c321748a1ab15dacf64f7202c : SUCCESS in 9m 26s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7a1bed4338d04590b3277778221f5a1d : SUCCESS in 16m 26s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/8f40a5148a6b4e8f96cd9e768a8348dc : SUCCESS in 17m 01s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/3898d7e1a0c3417f9c2bbed079540de8 : SUCCESS in 10m 16s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/873c51efd2254242b0bdf962a9ec0c5d : SUCCESS in 9m 56s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/b02fc668e7d845c1b6bb288ac5eac3c0 : FAILURE in 51m 54s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/fcdb033d0b6f498cb6992cb3d61bc6b4 : SUCCESS in 37m 46s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/1e217c7dbb4c44769bd1beb4b290751b : SUCCESS in 38m 32s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b1b8b7de286e4133964d48cbc90d635a : FAILURE in 22m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/00aa2610bb714590825b12a57574e671 : FAILURE in 6m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/017ac330610b47f39689c64a5384a62f : SUCCESS in 17m 36s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/fe0348f515bd4331b4366e64ef3d0662 : SUCCESS in 59m 02s\n\nWarning:\n  Comments left for invalid file swift/common/exceptions.py\n  Comments left for invalid file test/unit/container/test_sharder.py","accounts_in_message":[],"_revision_number":1},{"id":"69892faee65d0264333849593cc3571995a859c2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-04-16 07:13:24.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"7589161aab9b229c9411520db8c3bd0b47c57970","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-04-16 07:15:09.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"937877cb399d9e87009bf3c0c4bd1bd437b8afc1","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-16 08:10:35.000000000","message":"Patch Set 2:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/ce087c74869c40209193fdce54703d47\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/31ebc27171254138ada02335a96a5c6f : FAILURE in 34m 46s","accounts_in_message":[],"_revision_number":2},{"id":"25d8588e1a76d8c4efa81fb2b815a6c171a98f18","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-16 08:25: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/ebab29112a8e4f8b9cc177f0dd42cf7f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bade7d30f93d4f49bfd0d599bc5bdfd7 : SUCCESS in 4m 58s\n- grenade https://zuul.opendev.org/t/openstack/build/29ede78be907436489da7322e2aa2dec : SUCCESS in 1h 04m 33s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a77c761a0e4e4a378b11dc329abeb3cc : SUCCESS in 52m 23s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/44b76c5a1ac8476fae06b008e5addf4c : SUCCESS in 1h 06m 31s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/3b5af2a87cce4e4a8aa9336926b40d77 : SUCCESS in 45m 32s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/fadedd43ee8d4e36877584ac8796ace3 : SUCCESS in 19m 25s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/66be4b9f38044769bf04fb4fb2f5626d : SUCCESS in 18m 17s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/99c08594b1fc4809b82363f62bb7b4fa : SUCCESS in 23m 52s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/652500d37a7c4bcc9c62f9910b70d741 : SUCCESS in 7m 15s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/be99fcfb10ef4f598bb67cf0c4f1aec6 : FAILURE in 24m 55s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/e848f046da7a4f898152a635cd07a25a : FAILURE in 23m 04s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/30bf3893c8fd4f7ab8f17247c37849e9 : FAILURE in 11m 31s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/6fa99ab26f054571a1a2019ca164c5bb : FAILURE in 21m 16s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/0b6e955f3a044aa3b996832a9f90c6fd : SUCCESS in 14m 08s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/02f0bf5bd5c44d2493ca03c3d1635c1e : SUCCESS in 17m 37s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/539da9c4b5f24bdabc15e42cd35819ba : SUCCESS in 16m 10s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/42407349637f47e281c0151e24e30817 : SUCCESS in 6m 16s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/b1830479f0dd47b4895a3b84a45db772 : SUCCESS in 8m 46s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/0976c41f981b4c488045a3005b0c88e9 : SUCCESS in 8m 45s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/6e602f9b2a9e43d09bca72f8545fe973 : FAILURE in 54m 26s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/7a469b72eb964a52b7bbc48b6d7bc52b : SUCCESS in 48m 29s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f21b5507b782432080ad27196048b6e1 : SUCCESS in 51m 57s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/155e1364110548d295c19b85c1b3333b : FAILURE in 23m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/94965e0cdeba45a9848a3ab6cdb1ac5a : FAILURE in 4m 00s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/11740fe8cff645aaaa42783674fc35d8 : SUCCESS in 25m 44s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/72c151b9e95b4ed4a692a734182a1280 : SUCCESS in 1h 03m 49s\n\nWarning:\n  Comments left for invalid file swift/common/exceptions.py\n  Comments left for invalid file test/unit/container/test_sharder.py","accounts_in_message":[],"_revision_number":2},{"id":"f55f3f0ea3e2ee2dcab89752eb0fc69d4cfd3078","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-04-17 06:57:26.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"2cae610993b16ec0a779dabfc7f3315d99c1eba2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 07:33:52.000000000","message":"Patch Set 3:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/cda71af647cd4ee58891e64072365a72\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/31b7072373aa4b0d92fd0a0d8c6cd62f : FAILURE in 34m 17s","accounts_in_message":[],"_revision_number":3},{"id":"e0aefb71cca96bcab1e8ef4b3d9e72524aa39905","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 08:12:24.000000000","message":"Patch Set 3: Verified-1\n\n(1 comment)\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/a3f55e0b3cf1456c81344a40d9a85b8f\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fe4221e3f6f747ebaf5a411d1d9229df : SUCCESS in 4m 47s\n- grenade https://zuul.opendev.org/t/openstack/build/6b77a3f69a014ba8aa4223bf4c215712 : SUCCESS in 1h 09m 05s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/0da16c414d314dcbbca107b1598989a6 : SUCCESS in 1h 07m 31s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/ea5431b356fa435a8ad8ab2e8c8447f3 : SUCCESS in 54m 30s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/36cc3cefa22544d193f9194bcc75b7b1 : SUCCESS in 45m 53s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/afa1b73eb0714e15ad9a2e04ae5e6e95 : SUCCESS in 19m 09s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/9256f00a459348838be20fbd9ac41124 : SUCCESS in 20m 13s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/24e4b134b4794fa2bb9d2168f4f8ddcf : SUCCESS in 17m 47s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b8eb9b33a7314ad085be4fdd29cf01d2 : SUCCESS in 5m 34s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/d96f794fec354a2281f8a6bc937eb328 : FAILURE in 30m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/210bb4c46d8d4019ac296ab689ab89db : FAILURE in 15m 02s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/515e0a18b8674a45bb7359fcb405c82e : FAILURE in 26m 06s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/aaa1fe1faf8e4aa5b6450cb7985eac91 : FAILURE in 21m 18s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/0c098d1e031a45fe8d46b5d5cc655c5e : SUCCESS in 12m 41s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/8437c4c558e04c87bb2d0737181bf7db : SUCCESS in 15m 20s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/ff5e24a96a7f4783a71620f259ccc561 : SUCCESS in 12m 46s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/16c17a1ffab844439f1933a0f44eebda : SUCCESS in 6m 29s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/21f50300b0634263b59e6dc4c8f2aaf7 : SUCCESS in 13m 55s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/4988da938c124dc182d8d38faeaa13f7 : SUCCESS in 5m 23s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/165d96f89db54aaf9a275277f3f090bc : FAILURE in 1h 03m 23s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/92166801ef5d44af933877b901eedde1 : SUCCESS in 37m 41s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bbbb1213d3384e24a497027dd8b51b96 : SUCCESS in 49m 48s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5f84eef095104035a686bfa359f3dcb5 : FAILURE in 27m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cd67dcc565604cda9b11125bb3329a47 : FAILURE in 4m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e570fecf72c341eca0815973dff22e45 : SUCCESS in 18m 51s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/a3bc312e6a5a40dcb36f4ff2b3389292 : SUCCESS in 45m 27s\n\nWarning:\n  Comments left for invalid file swift/common/exceptions.py\n  Comments left for invalid file test/unit/container/test_sharder.py","accounts_in_message":[],"_revision_number":3},{"id":"ce9d0ab7d197758aa893db954d222629eb125f41","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2026-06-16 04:11:00.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"b574b8fc74bce3deea3b4f4b517b626b6bcaaa4c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-16 05:37:25.000000000","message":"Patch Set 4: Verified-1\n\n(1 comment)\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/f732b121d3014a1ba7a5844c3655dcc3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/704b33b938f34604bf7e701f0c9f9d12 : SUCCESS in 10m 30s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d7093973f36f4d43b271afa6f71b64bf : SUCCESS in 7m 58s\n- grenade https://zuul.opendev.org/t/openstack/build/63a109cc5f5b4532bc3629a98d0f896a : SUCCESS in 1h 18m 57s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e44adc97d1ac4253a5ffc55461717c36 : SUCCESS in 1h 06m 15s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7ef0cdcbcbe342308f1c6e571dcae557 : SUCCESS in 58m 23s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2a3bdfc741c8494195775ce1ea1f62f0 : SUCCESS in 1h 03m 01s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/d2097e472ba145e09c91f9150913b80b : SUCCESS in 20m 18s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/b5e99b46686b406b9e83860f4727f339 : SUCCESS in 19m 11s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/0badb2c7583c4c41b9e6dbdad09eb235 : SUCCESS in 21m 47s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b3fd7205897745eeac3afff495622ed7 : SUCCESS in 6m 50s (non-voting)\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/648f9a3d38de494bbe4129b07c5e9725 : FAILURE in 27m 33s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/80ad9c26c10540cda9a5c101973c7788 : FAILURE in 25m 20s\n- swift-tox-py313 https://zuul.opendev.org/t/openstack/build/4b228766a33f437ab1750d08e73bc33f : FAILURE in 32m 05s\n- swift-tox-py314 https://zuul.opendev.org/t/openstack/build/2831a5928aad41e38224e55fe29126f5 : FAILURE in 21m 28s\n- swift-tox-func-py312 https://zuul.opendev.org/t/openstack/build/4f032ed3330c4524909c848125ed4621 : SUCCESS in 15m 21s\n- swift-tox-func-encryption-py312 https://zuul.opendev.org/t/openstack/build/8287eb464c244c31a17e5af2ffbdf01a : SUCCESS in 15m 12s\n- swift-tox-func-ec-py312 https://zuul.opendev.org/t/openstack/build/7710297ccb3d4f1cadc799dff8b83614 : SUCCESS in 16m 36s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/6bb3567443fd4959a1d84203b468e4cb : SUCCESS in 8m 24s\n- swift-tox-func-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/53c6b7c766104ecba4ad0eef9c71aa8e : SUCCESS in 17m 44s (non-voting)\n- swift-tox-func-s3api-compat-tests-tempauth https://zuul.opendev.org/t/openstack/build/79b86a2d1f1a427c80d46494111ac654 : SUCCESS in 8m 57s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/310dc1b063df47ab9ecaa54dc8960972 : FAILURE in 1h 10m 31s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a69661a9bfd14378b7aff807e93c5ef2 : SUCCESS in 52m 32s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/bf76f79f839641f982f0a3e5769178b1 : SUCCESS in 53m 48s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/55bf05868fb74d71b1cdf175dda17b3c : FAILURE in 11m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/53d82c61e5974ceca59c40e02d6e7be4 : FAILURE in 4m 22s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e0e1057971d9478d952ffda1627f096d : SUCCESS in 17m 45s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/98764c03713e481bba76b52da33c70c4 : SUCCESS in 35m 36s\n\nWarning:\n  Comments left for invalid file swift/cli/manage_shard_ranges.py\n  Comments left for invalid file swift/common/exceptions.py\n  Comments left for invalid file test/unit/container/test_sharder.py","accounts_in_message":[],"_revision_number":4},{"id":"c996a52722b5024f0a6882daa3949c60e1b83e18","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-17 09:45:59.000000000","message":"Patch Set 4:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dd2d118202aa4315a2dfbfdeef959b9f\n\n- swift-tox-py312-arm64 https://zuul.opendev.org/t/openstack/build/2287eb455a4d474387cfa0525c631227 : FAILURE in 51m 05s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"aa909430349e10cd06175ce451d93fa6b956aa5f","revisions":{"ae8f9f4cb6411e24ef2c10e900ce500ba01c220c":{"kind":"REWORK","_number":1,"created":"2026-04-14 07:15:42.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/04/984504/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/04/984504/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/04/984504/1"}}},"commit":{"parents":[{"commit":"260a71e7c3459a15d22594b3d358e0ffe4d9c056","subject":"auto-sharding: enable auto-repair","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/260a71e7c3459a15d22594b3d358e0ffe4d9c056"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-04-14 07:06:00.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-04-14 07:06:00.000000000","tz":600},"subject":"Auto-sharding: When finding shard candidates also set authority","message":"Auto-sharding: When finding shard candidates also set authority\n\nWhen the sharder picks up a root-container and it happens to be the\nleader (ie index-0) then it\u0027ll look for sharding candidates, and if it\nfinds them it\u0027ll put them in the sharding state and merge them, so the\nleaders of those shards will be able to start scanning for reanges and\nall replicas can start cleaving. This is the root driven sharding.\n\nBut what if there is a rebalance or split brain where there are more\nthen 1 replica out there that thinks they\u0027re index-0? Well this patch\nextends the root driven shard candidate selection. Now it\u0027ll find\npotential candidates, but before merging them it\u0027ll call REPLICATE to\nget what it believes is index-0\u0027s db_id from replicate_info. Then will\ndo a sys-meta POST to set the sharding authority, and only on success\nwill it then write the candidates to the shard_range table in the\nSHARDING state.\n\nThis means now only the replica with the db_id matching the authority\ncan scan for shard_ranges and make cleaving decisions. Also keeping with\nthe root driven sharding concept.\n\nSTILL NEEDS TESTS AND TESTING IN GENERAL\n\nChange-Id: I6e1f538fd62e324709d37fb57bb9ab9781a129b3\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ae8f9f4cb6411e24ef2c10e900ce500ba01c220c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ae8f9f4cb6411e24ef2c10e900ce500ba01c220c"}]},"branch":"refs/heads/master"},"4a52e04718500a91be9b211d235aead6ff545ace":{"kind":"REWORK","_number":2,"created":"2026-04-16 07:13:24.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/04/984504/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/04/984504/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/04/984504/2"}}},"commit":{"parents":[{"commit":"260a71e7c3459a15d22594b3d358e0ffe4d9c056","subject":"auto-sharding: enable auto-repair","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/260a71e7c3459a15d22594b3d358e0ffe4d9c056"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-04-14 07:06:00.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-04-16 07:13:01.000000000","tz":600},"subject":"Auto-sharding: When finding shard candidates also set authority","message":"Auto-sharding: When finding shard candidates also set authority\n\nWhen the sharder picks up a root-container and it happens to be the\nleader (ie index-0) then it\u0027ll look for sharding candidates, and if it\nfinds them it\u0027ll put them in the sharding state and merge them, so the\nleaders of those shards will be able to start scanning for reanges and\nall replicas can start cleaving. This is the root driven sharding.\n\nBut what if there is a rebalance or split brain where there are more\nthen 1 replica out there that thinks they\u0027re index-0? Well this patch\nextends the root driven shard candidate selection. Now it\u0027ll find\npotential candidates, but before merging them it\u0027ll call REPLICATE to\nget what it believes is index-0\u0027s db_id from replicate_info. Then will\ndo a sys-meta POST to set the sharding authority, and only on success\nwill it then write the candidates to the shard_range table in the\nSHARDING state.\n\nThis means now only the replica with the db_id matching the authority\ncan scan for shard_ranges and make cleaving decisions. Also keeping with\nthe root driven sharding concept.\n\nSTILL NEEDS TESTS AND TESTING IN GENERAL\n\nChange-Id: I6e1f538fd62e324709d37fb57bb9ab9781a129b3\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4a52e04718500a91be9b211d235aead6ff545ace"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4a52e04718500a91be9b211d235aead6ff545ace"}]},"branch":"refs/heads/master"},"1e5bc68b9788b38667484e7f92bac86d6731b6fb":{"kind":"REWORK","_number":3,"created":"2026-04-17 06:57:26.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/04/984504/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/04/984504/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/04/984504/3"}}},"commit":{"parents":[{"commit":"260a71e7c3459a15d22594b3d358e0ffe4d9c056","subject":"auto-sharding: enable auto-repair","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/260a71e7c3459a15d22594b3d358e0ffe4d9c056"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-04-14 07:06:00.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-04-17 06:57:02.000000000","tz":600},"subject":"Auto-sharding: When finding shard candidates also set authority","message":"Auto-sharding: When finding shard candidates also set authority\n\nWhen the sharder picks up a root-container and it happens to be the\nleader (ie index-0) then it\u0027ll look for sharding candidates, and if it\nfinds them it\u0027ll put them in the sharding state and merge them, so the\nleaders of those shards will be able to start scanning for reanges and\nall replicas can start cleaving. This is the root driven sharding.\n\nBut what if there is a rebalance or split brain where there are more\nthen 1 replica out there that thinks they\u0027re index-0? Well this patch\nextends the root driven shard candidate selection. Now it\u0027ll find\npotential candidates, but before merging them it\u0027ll call REPLICATE to\nget what it believes is index-0\u0027s db_id from replicate_info. Then will\ndo a sys-meta POST to set the sharding authority, and only on success\nwill it then write the candidates to the shard_range table in the\nSHARDING state.\n\nThis means now only the replica with the db_id matching the authority\ncan scan for shard_ranges and make cleaving decisions. Also keeping with\nthe root driven sharding concept.\n\nSTILL NEEDS TESTS AND TESTING IN GENERAL\n\nChange-Id: I6e1f538fd62e324709d37fb57bb9ab9781a129b3\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1e5bc68b9788b38667484e7f92bac86d6731b6fb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1e5bc68b9788b38667484e7f92bac86d6731b6fb"}]},"branch":"refs/heads/master"},"aa909430349e10cd06175ce451d93fa6b956aa5f":{"kind":"REWORK","_number":4,"created":"2026-06-16 04:11:00.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/04/984504/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/04/984504/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/04/984504/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/04/984504/4"}}},"commit":{"parents":[{"commit":"935268d1009e55dd1d355cad8b77a672795e7bb7","subject":"auto-sharding: enable auto-repair","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/935268d1009e55dd1d355cad8b77a672795e7bb7"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-04-14 07:06:00.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2026-06-16 04:09:08.000000000","tz":600},"subject":"Auto-sharding: When finding shard candidates also set authority","message":"Auto-sharding: When finding shard candidates also set authority\n\nWhen the sharder picks up a root-container and it happens to be the\nleader (ie index-0) then it\u0027ll look for sharding candidates, and if it\nfinds them it\u0027ll put them in the sharding state and merge them, so the\nleaders of those shards will be able to start scanning for reanges and\nall replicas can start cleaving. This is the root driven sharding.\n\nBut what if there is a rebalance or split brain where there are more\nthen 1 replica out there that thinks they\u0027re index-0? Well this patch\nextends the root driven shard candidate selection. Now it\u0027ll find\npotential candidates, but before merging them it\u0027ll call REPLICATE to\nget what it believes is index-0\u0027s db_id from replicate_info. Then will\ndo a sys-meta POST to set the sharding authority, and only on success\nwill it then write the candidates to the shard_range table in the\nSHARDING state.\n\nThis means now only the replica with the db_id matching the authority\ncan scan for shard_ranges and make cleaving decisions. Also keeping with\nthe root driven sharding concept.\n\nSTILL NEEDS TESTS AND TESTING IN GENERAL\n\nChange-Id: I6e1f538fd62e324709d37fb57bb9ab9781a129b3\nSigned-off-by: Matthew Oliver \u003cmatt@oliver.net.au\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aa909430349e10cd06175ce451d93fa6b956aa5f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/aa909430349e10cd06175ce451d93fa6b956aa5f"}]},"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":""}}}]}
