)]}'
{"id":"openstack%2Fswift~672650","triplet_id":"openstack%2Fswift~master~I39f07180ce7990702e4fdfe7e43f313781d7e7d3","project":"openstack/swift","branch":"master","topic":"auto_sharding","attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2024-04-08 06:22:50.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I39f07180ce7990702e4fdfe7e43f313781d7e7d3","subject":"auto-sharding: send shard-ranges via container UPDATE","status":"NEW","created":"2019-07-25 07:33:59.000000000","updated":"2024-05-06 04:02:07.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"30eeb67c5c8b21cdbbbc17b523693e42422b6ee0","_number":672650,"virtual_id_number":672650,"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":"2024-05-06 03:45: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"]}],"CC":[{"_account_id":15670,"name":"StorPool OpenStack CI","email":"openstack-ci@storpool.com","username":"storpoolci","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-10-08 05:03:23.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":"2024-03-25 04:08:34.000000000","updated_by":{"_account_id":15670,"name":"StorPool OpenStack CI","email":"openstack-ci@storpool.com","username":"storpoolci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":15670,"name":"StorPool OpenStack CI","email":"openstack-ci@storpool.com","username":"storpoolci","tags":["SERVICE_USER"]},"state":"CC"}],"messages":[{"id":"d3f57e8ed97c5ae5271e8957cae0261a371eeef3","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-07-25 07:33:59.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"243f0e4a60d1dbcca6a390509771c0c20d45ef72","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-07-25 08:15:35.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs http://logs.openstack.org/50/672650/1/check/openstack-tox-docs/471f87a/html/ : SUCCESS in 5m 19s\n- swift-build-image http://logs.openstack.org/50/672650/1/check/swift-build-image/b60345b/ : SUCCESS in 9m 05s (non-voting)\n- swift-tox-py27 http://logs.openstack.org/50/672650/1/check/swift-tox-py27/d29ff71/ : FAILURE in 9m 08s\n- swift-tox-py36 http://logs.openstack.org/50/672650/1/check/swift-tox-py36/e567500/ : FAILURE in 8m 45s\n- swift-tox-py37 http://logs.openstack.org/50/672650/1/check/swift-tox-py37/a46af56/ : FAILURE in 15m 11s\n- swift-tox-func http://logs.openstack.org/50/672650/1/check/swift-tox-func/3e1926d/ : FAILURE in 3m 45s\n- swift-tox-func-encryption http://logs.openstack.org/50/672650/1/check/swift-tox-func-encryption/9e5ce7a/ : FAILURE in 4m 03s\n- swift-tox-func-domain-remap-staticweb http://logs.openstack.org/50/672650/1/check/swift-tox-func-domain-remap-staticweb/9e942f3/ : FAILURE in 4m 03s\n- swift-tox-func-ec http://logs.openstack.org/50/672650/1/check/swift-tox-func-ec/5718097/ : POST_FAILURE in 3m 52s\n- swift-tox-func-s3api http://logs.openstack.org/50/672650/1/check/swift-tox-func-s3api/791c687/ : FAILURE in 4m 04s\n- swift-tox-func-py37 http://logs.openstack.org/50/672650/1/check/swift-tox-func-py37/6b83160/ : FAILURE in 4m 18s\n- swift-tox-func-domain-remap-staticweb-py37 http://logs.openstack.org/50/672650/1/check/swift-tox-func-domain-remap-staticweb-py37/112d838/ : FAILURE in 3m 44s\n- swift-tox-func-ec-py37 http://logs.openstack.org/50/672650/1/check/swift-tox-func-ec-py37/0b446a2/ : FAILURE in 3m 46s\n- swift-tox-func-s3api-ceph-s3tests-tempauth http://logs.openstack.org/50/672650/1/check/swift-tox-func-s3api-ceph-s3tests-tempauth/cf48130/ : SUCCESS in 13m 01s (non-voting)\n- swift-probetests-centos-7 http://logs.openstack.org/50/672650/1/check/swift-probetests-centos-7/2c0da02/ : FAILURE in 26m 49s\n- swift-dsvm-functional http://logs.openstack.org/50/672650/1/check/swift-dsvm-functional/30c5edd/ : SUCCESS in 31m 39s\n- swift-dsvm-functional-py3 http://logs.openstack.org/50/672650/1/check/swift-dsvm-functional-py3/eb75b32/ : SUCCESS in 29m 34s\n- swift-dsvm-functional-ipv6 http://logs.openstack.org/50/672650/1/check/swift-dsvm-functional-ipv6/5914981/ : SUCCESS in 28m 33s\n- swift-tox-lower-constraints http://logs.openstack.org/50/672650/1/check/swift-tox-lower-constraints/4264bbe/ : FAILURE in 14m 25s\n- openstack-tox-pep8 http://logs.openstack.org/50/672650/1/check/openstack-tox-pep8/53ee960/ : SUCCESS in 6m 37s\n- swift-multinode-rolling-upgrade http://logs.openstack.org/50/672650/1/check/swift-multinode-rolling-upgrade/e6e538c/ : FAILURE in 11m 05s","accounts_in_message":[],"_revision_number":1},{"id":"ddd579e395916ac66b2d9787609f7ca77d6cedc9","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2019-10-08 03:54:49.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"a4da7cd74ec2abd59975dbdfdbb06402921623db","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-10-08 05:03:23.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttp://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/113e9adb7ba64d4e9760b8d29d0c18bd : SUCCESS in 7m 57s\n- grenade-py3 https://zuul.opendev.org/t/openstack/build/9134b85feb5d43d0a838dcfa558402ff : SUCCESS in 56m 45s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/f73a46c5df0e482a99f3e46186fc91af : SUCCESS in 54m 51s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/cc6f99cea9494ef7ae8463f2df41f76b : SUCCESS in 9m 05s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/028e01f668f14097952611be9a2035fe : SUCCESS in 11m 01s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/5b3f1ec30d404b3daf10dbd3a97ed862 : FAILURE in 9m 20s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/25c2d48c23cb4eabae084448d5a0510a : FAILURE in 8m 52s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/1a9b4531948343d7a42f83f43ecce03f : FAILURE in 8m 35s\n- swift-tox-func https://zuul.opendev.org/t/openstack/build/f55f585d73704b2b8309cddb233d9f84 : FAILURE in 3m 51s\n- swift-tox-func-encryption https://zuul.opendev.org/t/openstack/build/5f582401feca4b979d8e8cc93de34999 : FAILURE in 5m 11s\n- swift-tox-func-domain-remap-staticweb https://zuul.opendev.org/t/openstack/build/3752fa2d4a774108bdc3452cbbd0bd3d : FAILURE in 4m 08s\n- swift-tox-func-ec https://zuul.opendev.org/t/openstack/build/95835fe8ec0446bca443b2bd42e7e460 : FAILURE in 4m 17s\n- swift-tox-func-s3api https://zuul.opendev.org/t/openstack/build/a619c078487e44a7adbf76f13a45be77 : FAILURE in 3m 48s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/3df576c56f274768805421626d2e2ba3 : FAILURE in 4m 03s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/63f8aa1b67654b76be06d5399ed1bb58 : FAILURE in 4m 05s\n- swift-tox-func-domain-remap-staticweb-py37 https://zuul.opendev.org/t/openstack/build/bd1e914446494a0fb301223c0361b3b1 : FAILURE in 4m 23s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/f2ac7c3df1314c11a73357fa7f8cdf1b : FAILURE in 4m 07s\n- swift-tox-func-s3api-py37 https://zuul.opendev.org/t/openstack/build/b7eef2ab2fcd4641b4357b13a7cfd6b3 : FAILURE in 4m 12s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c51ca68a103a42ad94fafa7b99d1a810 : SUCCESS in 15m 26s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/a93e1801258c48daa2ed3ea6c7c190ec : FAILURE in 29m 14s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/d7d31f2374004c05a6b4529e55baa7e8 : SUCCESS in 29m 19s\n- swift-dsvm-functional-py3 https://zuul.opendev.org/t/openstack/build/4c809cfa55ff40098f18e7c170a431df : SUCCESS in 31m 29s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/fda34bd7285848c78d8bcc3da8d3dcbf : SUCCESS in 28m 59s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/417785a3f3364751b5cc8b03cd996851 : FAILURE in 11m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/35ddacdaf22b4d9e90d1700090e249ae : SUCCESS in 6m 01s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/b528b76bb75c4d878740b06e2bb69d4c : SUCCESS in 19m 06s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/800db8ab3b354713897cbdc850758c45 : SUCCESS in 1h 02m 13s","accounts_in_message":[],"_revision_number":2},{"id":"0572f575c32ce0313897256dbdb369b7038310d4","tag":"autogenerated:gerrit:abandon","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2024-03-20 06:24:40.000000000","message":"Abandoned\n\nsquashed into parent","accounts_in_message":[],"_revision_number":2},{"id":"e7631308c80d09ee4339c62d055fc05391e19e0c","tag":"autogenerated:gerrit:restore","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2024-03-25 04:08:08.000000000","message":"Restored","accounts_in_message":[],"_revision_number":2},{"id":"7fd511f0c06e20709d13d5f6e8691759d51cb0c8","author":{"_account_id":15670,"name":"StorPool OpenStack CI","email":"openstack-ci@storpool.com","username":"storpoolci","tags":["SERVICE_USER"]},"date":"2024-03-25 04:08:34.000000000","message":"Patch Set 2:\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.\nWarning:\n  Error merging opendev.org/openstack/swift for 667030,9","accounts_in_message":[],"_revision_number":2},{"id":"b380a23a17c97d1297e3b2039f480dc02acad510","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2024-03-26 01:58:48.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"b3b5c7e87d5ea68b61b5fc8762d4b0e757e36df9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2024-04-08 04:59:33.000000000","message":"Patch Set 4: Patch Set 3 was rebased","accounts_in_message":[],"_revision_number":4},{"id":"65ccfb5d3cf72ef733ebf4a856e8ec01dafccecd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-04-08 06:22:50.000000000","message":"Patch Set 4: 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\n\nhttps://zuul.opendev.org/t/openstack/buildset/dc6f3f8cf5554c6282a5ad766bd1e1e8\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f0e0b62872c94ffa8f8d8d44cc7a1b26 : SUCCESS in 9m 14s\n- grenade https://zuul.opendev.org/t/openstack/build/c8758c7dcc094ff99874191fe0f367c0 : SUCCESS in 1h 08m 32s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/969463e6b466476b999139df87d729c7 : SUCCESS in 58m 52s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/71a85249b23c44c8a2bcc7d0b752fec3 : SUCCESS in 1h 07m 22s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/2198bdb63e044051bdb9ebfae5c3f8c4 : SUCCESS in 23m 14s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/193cb3687d5341a89c9e0bcc308cd6a5 : SUCCESS in 16m 48s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/776fc59cdbe14fa5b9777afcf6b1668b : SUCCESS in 21m 05s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/48b6dfd65d9b497591d5e8d636b3b0a3 : SUCCESS in 11m 05s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/31689b27a3f64cdc93fa28bf81efb40e : SUCCESS in 6m 55s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/01573250e0e24c63b4c7d26ba021871c : SUCCESS in 15m 26s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/4510f94c1d93416ba8feb6c458925e43 : SUCCESS in 18m 38s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/7d655a137b4b402c88d7dea9acab91c8 : SUCCESS in 17m 26s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/7f56248d0f2f4ceea660936c25f05339 : SUCCESS in 17m 37s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/94989df4461f4fc98653ee05a7f2adb1 : SUCCESS in 20m 05s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/8caf5caaada84978aa92c3dabf88a87c : SUCCESS in 18m 00s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/6ca4342df90b4b5a826b35eb4087529b : SUCCESS in 14m 50s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/8c5c5292a11f4dbfab608cd4311f7efd : SUCCESS in 17m 55s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/1ba2661c77e0422aafb4d2c87c14dde8 : SUCCESS in 15m 12s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/c240a7148c9d491b9f27f7d9549eea87 : SUCCESS in 17m 13s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/95ea807d28a04a76b39c39ec9662fe6a : SUCCESS in 6m 07s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/870d17318f4c4b619f43130e20f132e4 : SUCCESS in 14m 44s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/9a6e5a3bacca45ce9d55e3e4a9c5ac72 : SUCCESS in 7m 40s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/cbe62d3dd19049029f79b9946a31e7d1 : FAILURE in 52m 03s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/276f62a100874753bd546d26ef00ab09 : SUCCESS in 37m 56s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/914c7f0cf4b34880820bec28df68a6be : SUCCESS in 56m 46s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/b039c149587145c4a99487a4f9d17974 : SUCCESS in 19m 41s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/48722b6e921f4776b4d1c7c5fccf198f : SUCCESS in 4m 20s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/5c6d5b756d0a4fbd88cf4823a298c595 : SUCCESS in 19m 10s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/63d4a64f0ee84b4db4b0d676a67f6bb4 : SUCCESS in 1h 00m 55s","accounts_in_message":[],"_revision_number":4},{"id":"38101d8585370e5cb95f396041859223d59a8c11","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-04-08 06:32:49.000000000","message":"Patch Set 4:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a265a7eff57045569a616e171638c2f4\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/e92de0d717054f74b13d87188d0677c4 : FAILURE in 1h 16m 17s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/fb94445065734f2e9232b53324f8b8f9 : SUCCESS in 14m 37s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/10c1e0cbd8aa49538c016383a31fe3c6 : TIMED_OUT in 1h 30m 54s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/0bbc11cb61a44e2fa93ab5d68f68c649 : SUCCESS in 17m 41s","accounts_in_message":[],"_revision_number":4},{"id":"f558314da67784ab3edeb71fdf85aa3c7345423a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2024-04-11 07:21:32.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":5},{"id":"397fd709a6323fcc097d7745aa9644d9a3ff42fd","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-04-11 07:59:54.000000000","message":"Patch Set 5:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/73cfc06f729b483fbddd8c1be7c0a6c3\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/4d93c2a6240d4559ba0b0b71fe403037 : FAILURE in 15m 08s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/4ee89c3cf62f4eb486b8090a99e5725e : FAILURE in 16m 27s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/5fb2b25ffba84c22814d69d0cab9b8bd : SUCCESS in 25m 58s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/ecfeaa5cadb7411fbd2fd3eae1e7111f : SUCCESS in 36m 38s","accounts_in_message":[],"_revision_number":5},{"id":"e466a492d99f769bc06a607c2f748c630af37af4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-04-11 08:28:03.000000000","message":"Patch Set 5: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/55e4af0ce1a049c78ea26397b9a729fd\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9dd103fce9484379a0f9b75bdee33625 : SUCCESS in 9m 09s\n- grenade https://zuul.opendev.org/t/openstack/build/c8f951ab0c2646d79f1cf5310f6ba357 : SUCCESS in 44m 26s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/19118b16ed3e49b9bb664012bfab4e37 : SUCCESS in 48m 30s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/f21370a7653f4009a6538012d360bd4e : SUCCESS in 45m 41s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/15d74eceb5724f7da3828a4daa5e2a86 : SUCCESS in 17m 15s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/86db5e0b43134ecbba66d9420f580c5c : SUCCESS in 18m 32s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/a5728ea85348498dbbe0aaea655fab1d : SUCCESS in 17m 44s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/83fa071fd490434797b9fa146676d733 : SUCCESS in 12m 38s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/0a96c3566ac14db3bdd9274ceea83b64 : SUCCESS in 5m 09s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/298990811e734dc8bc39c9cb570645f7 : FAILURE in 19m 19s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/ad4a34e321fa42d79050a9b0f76da61a : FAILURE in 20m 55s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/05696431dcd743aa9bd70eb8f8b2d506 : FAILURE in 17m 46s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/ceb342fc534d42f59c7ee499ec31040e : FAILURE in 18m 18s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/308e3333962347978e0e7e1f1aca6273 : SUCCESS in 18m 19s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/b8c3a382652e4583b98ef0eb685decc2 : SUCCESS in 20m 00s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/d4b0d804121a4feb8e581bd8287ae98f : SUCCESS in 17m 10s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/0c02a6480dd7417fbca3ee3b687ffedc : SUCCESS in 15m 12s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/2ebf7e8585474a21b97efd4db33c718e : SUCCESS in 14m 32s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/bed58593c83c44fda84523ad71356ef1 : SUCCESS in 21m 02s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f710fda4149c483abc2fc23295d075f9 : SUCCESS in 6m 04s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/490a8260ff58445b83addc112ef63d13 : SUCCESS in 15m 43s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/7ca237644c794d36a26bf6a07b62fc75 : SUCCESS in 7m 31s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/4f5213d052304e648477826caef34f84 : FAILURE in 1h 00m 07s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/aa3b20d7001940a5b88f48e7717c5efa : SUCCESS in 54m 47s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ee5188079c5042caba1d889a7f048856 : SUCCESS in 37m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2b98f35afba241b0924d62835e97ef5d : FAILURE in 19m 35s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/af0882d8dcbd486d9d2a3c6f422fdaee : FAILURE in 3m 56s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/e0e03e6858d642c1b69293cdfd8abea6 : SUCCESS in 19m 11s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/75cd5638130640f6a6f21369b278c023 : SUCCESS in 57m 13s","accounts_in_message":[],"_revision_number":5},{"id":"0a8ed3c7c8e099558460cfd70002148d4ea96771","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2024-04-29 02:07:33.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":6},{"id":"2ce154b72a976976d9375e0e9fdb664410353871","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-04-29 03:36:46.000000000","message":"Patch Set 6: 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/c200e2e2e31646bb8108b1f05cafe70d\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cafddbd357c44f65873623af39b7817c : SUCCESS in 8m 39s\n- grenade https://zuul.opendev.org/t/openstack/build/f061f0c06d7449c7a8ad197405fa8441 : SUCCESS in 1h 06m 45s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/7838a4573ac946138a3a41755597aa4b : SUCCESS in 38m 08s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b61dd86b130f4ac9a23af23da68f5508 : SUCCESS in 49m 02s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7f1c4d259adc4492b331930816396407 : SUCCESS in 18m 08s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/7fb80b9cca7146d98a4ac6608302b01a : SUCCESS in 19m 05s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/716606065611469d8f0bec72fd6967e2 : SUCCESS in 20m 23s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3d3f802f9b9d45c9bfe722fa8a5477fc : SUCCESS in 14m 56s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/37d540ae39df420799e8a8bb32ccf2c0 : SUCCESS in 5m 53s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/fbac0c2a55e54f4fb1a0193ab87c99d0 : FAILURE in 20m 43s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/4e474ae78a494931b98c866035466d71 : FAILURE in 17m 24s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/1d24365e36734bb2879c2b6dde37300e : FAILURE in 19m 27s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/f55776b7a72b475cb1ce60b7586f6ba9 : FAILURE in 18m 36s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/9956443104774cdbb0c19fd4d781a1ec : SUCCESS in 25m 42s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/8b7885d054d24c98bd757ec040eae547 : SUCCESS in 21m 12s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/cf4f91faee23405ba63661bb9710c384 : SUCCESS in 20m 04s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/e97c9bb6e090435aaffab6f95cdc21bc : SUCCESS in 15m 19s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/47ac7a5c0fd447b5a11ad05147d5e890 : SUCCESS in 16m 04s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/04bc5e3115684b06848ed70a321b56a3 : SUCCESS in 19m 27s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/4fd659fc68574f1cbb7971e23ad9788b : SUCCESS in 7m 29s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/c9fc3b4b02ce47dab947b3fd0de721fa : SUCCESS in 18m 01s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/456575ef1825494abfb1a3968b4001bf : SUCCESS in 7m 44s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/1a665f1a13bf4ea99f70928f844ac100 : SUCCESS in 1h 05m 56s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/8d6762bcf8d447429e3cf4b085c76ef7 : SUCCESS in 52m 03s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/2e1d9698c6a647d0a36b75d93cd2a2c2 : SUCCESS in 54m 23s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/1d299426cfe244d996c28afc536f2921 : FAILURE in 21m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/094d66813d044b87a97a737c6361f4b7 : FAILURE in 4m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8119f7c83745453cac0418c3b180c4ef : SUCCESS in 20m 04s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/47a99b0434104239a9c3072c12685e31 : SUCCESS in 55m 59s","accounts_in_message":[],"_revision_number":6},{"id":"62843b525f4fa97b6da4ad236ef35d790d3ec205","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-04-29 03:46:31.000000000","message":"Patch Set 6:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/48817bd87ff54dbeae8ddec7944ae8a1\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/66adcf56010345c09b4054a81ff1d0c4 : FAILURE in 1h 21m 45s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/d79880438e8a4a458977c1c87087aa2f : TIMED_OUT in 1h 31m 06s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/365c388bfd2043ab9e4414886c61f36e : SUCCESS in 23m 00s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/2bab1d61c2024db19581eebc8fd451a5 : SUCCESS in 1h 23m 18s","accounts_in_message":[],"_revision_number":6},{"id":"51553f765eef70dbafa97f44a1fc9c6f58dc8638","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2024-05-06 02:28:36.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":7},{"id":"e58d82652ed8fe7b6a025663bef2773b15f9734c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-05-06 03:45:42.000000000","message":"Patch Set 7: Verified-1\n\n(2 comments)\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/0f4627c139b34a6786774a851d4239ea\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a7cda1d167cd40a49b0add4f1f16baf8 : SUCCESS in 9m 59s\n- grenade https://zuul.opendev.org/t/openstack/build/854150d206f94e0eb515a8d66b05f030 : SUCCESS in 1h 01m 53s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/da39c2b974864a64ab77695b7e43b505 : SUCCESS in 41m 46s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/29a801881e01450492f78b5ca3e32316 : SUCCESS in 1h 00m 13s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ec0be852dfd24e078bdce5eccde76e94 : SUCCESS in 16m 22s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/c511922f9f4248e7b2890a75f5820851 : SUCCESS in 20m 18s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/021fe005e0c54e4cb1ee16373b1d0d36 : SUCCESS in 24m 27s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/d9fd986b7a1c416ea24562a56c111d38 : SUCCESS in 11m 09s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/b4630258979d457ebcf57e70afb227bd : SUCCESS in 6m 04s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/fd6b70bcbb834aacb4cf62c6ae6e3073 : FAILURE in 16m 34s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/a5079cd2bed341adabdff693c897ab29 : FAILURE in 21m 10s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/1f32ecf2147a48d29f41cf2b243ba53b : FAILURE in 16m 10s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/fd7da999807f4f1297c86609fc36abb4 : FAILURE in 16m 46s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/a86e56dfbb7c4edeab2409af9b95760e : SUCCESS in 16m 31s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/3ed0a0b2438f4549bb4267547f1b099e : SUCCESS in 19m 31s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/634b6713582f4a0480ea290f61e31c6e : SUCCESS in 18m 32s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/c8830b3f0f2f43eb9261916a653a877f : SUCCESS in 17m 12s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/f9bc09238e954148a66f4d975d0f64ba : SUCCESS in 14m 57s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/5707f1bece4c4ea697b24279fd004e6a : SUCCESS in 17m 54s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/a995ad7e966d46b191b6ce723a2372ec : SUCCESS in 6m 51s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/81ba8dd2c7b8438a8f028d86cc808006 : SUCCESS in 18m 48s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/38750e7318f94ace8e34dbce94f76360 : SUCCESS in 7m 28s\n- swift-probetests-centos-9-stream https://zuul.opendev.org/t/openstack/build/2cc17732af9741489f2441b345071378 : FAILURE in 1h 01m 32s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/0593c69b81234050a65d142ee7747d75 : SUCCESS in 43m 06s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/55a948bef4a242f7b289f985ce608fca : SUCCESS in 49m 03s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/84f6f30ca8704a2abd68856760d646fe : FAILURE in 19m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b15d4d3a7d0e41dd8c2869c237e77f25 : FAILURE in 6m 03s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/9628692ddd9f4752b058e784cdf561b6 : SUCCESS in 19m 21s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ed7467efaf244a859ae179c8c220a851 : SUCCESS in 45m 42s","accounts_in_message":[],"_revision_number":7},{"id":"30eeb67c5c8b21cdbbbc17b523693e42422b6ee0","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2024-05-06 04:02:07.000000000","message":"Patch Set 7:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0ac28b14edff4269b5a1ccc7c5c9e993\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/9a2d24e9f9cc44b0adc0425b957659d2 : FAILURE in 17m 18s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/28bf4b76f2a94280a049da235cde111f : FAILURE in 18m 11s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/177b5613c4bf4e848a6ca15cab914516 : SUCCESS in 21m 16s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/3a6a2298cbbf42809b5e391628ec472b : TIMED_OUT in 1h 30m 59s","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"9b36650cb211ad0bccf5b78d4ebab4ff3d20eed0","revisions":{"f59ed488dcff01c2c336f69f39a866932744ae37":{"kind":"REWORK","_number":1,"created":"2019-07-25 07:33:59.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/672650/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/672650/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/672650/1"}}},"commit":{"parents":[{"commit":"ff946862499e0369f57fbfa65e2ee4e2f3af2c43","subject":"sharding: first attempt at _elect_leader","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ff946862499e0369f57fbfa65e2ee4e2f3af2c43"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-07-25 07:15:44.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-07-25 07:15:44.000000000","tz":600},"subject":"auto-sharding: send shard-ranges via container UPDATE","message":"auto-sharding: send shard-ranges via container UPDATE\n\nThis is more of a POC. The idea is pretty straight forward.\n\nBefore this patch:\n - a leader is determined to be the scanner node\n - that node will then go scan for shard ranges.\n - Once found, the scanner/leader asks via an all quorum if they\u0027re\n   still the leader.\n - If they are, then write the shard ranges into my DB and let\n   replication spread them out.\n\nThis sounds great. But there is an edge case, what happens if the\nreplication fails? We can\u0027t roll back the shard ranges by removing\nthem locally because the container replicators in the meal while might\nhave already managed to push somewhere because of a network blip.\n\nFor example, what happens if replication is down for that node after writing\nthe ranges, or the server goes down for maintenence, and a rebalance\nhappens, and now this \"leader\" who has shard ranges is a handoff. But\nwill still offload it\u0027s ranges when back online. Even after another leader\nhas since been elected and replicated a different set of ranges.\n\nThis patch is trying solve that edge case by  reducing that potentail gap\nbetween the finding and inserting shard ranges locally and it\u0027s eventual\nreplication.\nIt does it by taking advantage of the \"still leader\" quorum. If it still\nis the leader after finding shard ranges, it goes and updates the other\nprimaries using the new container UPDATE verb. So long as one of those\nis successful, it\u0027s safe to write the shard ranges locally.\nIf all UPDATEs fail, the scanner safely throws away the ranges and will\nhave another go when the connection or whatever is back.\n\nIt in essence gives us a rollback without having to be smart with\nreplication locking (locking out the container-replicators) writing and\nchecking if we managed to replication in the sharder.\n\nThis is just a POC to test out the theory, just a possible solution.\n\nThe real question is, is the edgecase real? Or can we somehow just be\nsmarter in replication.\n\nChange-Id: I39f07180ce7990702e4fdfe7e43f313781d7e7d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f59ed488dcff01c2c336f69f39a866932744ae37"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f59ed488dcff01c2c336f69f39a866932744ae37"}]},"branch":"refs/heads/master"},"553d1d06bc74870309320b996600edc898a1cc05":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2019-10-08 03:54:49.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/672650/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/672650/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/672650/2"}}},"commit":{"parents":[{"commit":"be459b13cdea1f37a7acc3d3458d3f7eabf4d893","subject":"sharding: first attempt at _elect_leader","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/be459b13cdea1f37a7acc3d3458d3f7eabf4d893"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-07-25 07:15:44.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-10-08 03:53:44.000000000","tz":660},"subject":"auto-sharding: send shard-ranges via container UPDATE","message":"auto-sharding: send shard-ranges via container UPDATE\n\nThis is more of a POC. The idea is pretty straight forward.\n\nBefore this patch:\n - a leader is determined to be the scanner node\n - that node will then go scan for shard ranges.\n - Once found, the scanner/leader asks via an all quorum if they\u0027re\n   still the leader.\n - If they are, then write the shard ranges into my DB and let\n   replication spread them out.\n\nThis sounds great. But there is an edge case, what happens if the\nreplication fails? We can\u0027t roll back the shard ranges by removing\nthem locally because the container replicators in the meal while might\nhave already managed to push somewhere because of a network blip.\n\nFor example, what happens if replication is down for that node after writing\nthe ranges, or the server goes down for maintenence, and a rebalance\nhappens, and now this \"leader\" who has shard ranges is a handoff. But\nwill still offload it\u0027s ranges when back online. Even after another leader\nhas since been elected and replicated a different set of ranges.\n\nThis patch is trying solve that edge case by  reducing that potentail gap\nbetween the finding and inserting shard ranges locally and it\u0027s eventual\nreplication.\nIt does it by taking advantage of the \"still leader\" quorum. If it still\nis the leader after finding shard ranges, it goes and updates the other\nprimaries using the new container UPDATE verb. So long as one of those\nis successful, it\u0027s safe to write the shard ranges locally.\nIf all UPDATEs fail, the scanner safely throws away the ranges and will\nhave another go when the connection or whatever is back.\n\nIt in essence gives us a rollback without having to be smart with\nreplication locking (locking out the container-replicators) writing and\nchecking if we managed to replication in the sharder.\n\nThis is just a POC to test out the theory, just a possible solution.\n\nThe real question is, is the edgecase real? Or can we somehow just be\nsmarter in replication.\n\nChange-Id: I39f07180ce7990702e4fdfe7e43f313781d7e7d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/553d1d06bc74870309320b996600edc898a1cc05"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/553d1d06bc74870309320b996600edc898a1cc05"}]},"branch":"refs/heads/master"},"399bdb05c00d4da49a3e6e5af382ac2a58721540":{"kind":"REWORK","_number":3,"created":"2024-03-26 01:58:48.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/672650/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/672650/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/672650/3"}}},"commit":{"parents":[{"commit":"f269dfe0e2a07077707244b4911eed217acbdeda","subject":"auto-shard: Add optional post scan leader confirmation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/f269dfe0e2a07077707244b4911eed217acbdeda"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-07-25 07:15:44.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2024-03-26 01:53:07.000000000","tz":660},"subject":"auto-sharding: send shard-ranges via container UPDATE","message":"auto-sharding: send shard-ranges via container UPDATE\n\nThis is more of a POC. The idea is pretty straight forward.\n\nBefore this patch:\n - a leader is determined to be the scanner node\n - that node will then go scan for shard ranges.\n - Once found, the scanner/leader asks via an all quorum if they\u0027re\n   still the leader.\n - If they are, then write the shard ranges into my DB and let\n   replication spread them out.\n\nThis sounds great. But there is an edge case, what happens if the\nreplication fails? We can\u0027t roll back the shard ranges by removing\nthem locally because the container replicators in the meal while might\nhave already managed to push somewhere because of a network blip.\n\nFor example, what happens if replication is down for that node after writing\nthe ranges, or the server goes down for maintenence, and a rebalance\nhappens, and now this \"leader\" who has shard ranges is a handoff. But\nwill still offload it\u0027s ranges when back online. Even after another leader\nhas since been elected and replicated a different set of ranges.\n\nThis patch is trying solve that edge case by  reducing that potential gap\nbetween the finding and inserting shard ranges locally and it\u0027s eventual\nreplication.\nIt does it by taking advantage of the \"still leader\" quorum. If it still\nis the leader after finding shard ranges, it goes and updates the other\nprimaries using the container UPDATE verb. So long as one of those\nis successful, it\u0027s safe to write the shard ranges locally.\nIf all UPDATEs fail, the scanner safely throws away the ranges and will\nhave another go when the connection or whatever is back.\n\nIt in essence gives us a rollback without having to be smart with\nreplication locking (locking out the container-replicators) writing and\nchecking if we managed to replication in the sharder.\n\nThis is just a POC to test out the theory, just a possible solution.\n\nChange-Id: I39f07180ce7990702e4fdfe7e43f313781d7e7d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/399bdb05c00d4da49a3e6e5af382ac2a58721540"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/399bdb05c00d4da49a3e6e5af382ac2a58721540"}]},"branch":"refs/heads/master"},"ffb62743bcbbac64b9f34756e7e744879cce1ba8":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2024-04-08 04:59:33.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/672650/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/672650/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/672650/4"}}},"commit":{"parents":[{"commit":"1d7ed28e8e26894ae58246572b2d5fa2a4996948","subject":"auto-shard: Add optional post scan leader confirmation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1d7ed28e8e26894ae58246572b2d5fa2a4996948"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-07-25 07:15:44.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2024-04-08 04:59:33.000000000","tz":0},"subject":"auto-sharding: send shard-ranges via container UPDATE","message":"auto-sharding: send shard-ranges via container UPDATE\n\nThis is more of a POC. The idea is pretty straight forward.\n\nBefore this patch:\n - a leader is determined to be the scanner node\n - that node will then go scan for shard ranges.\n - Once found, the scanner/leader asks via an all quorum if they\u0027re\n   still the leader.\n - If they are, then write the shard ranges into my DB and let\n   replication spread them out.\n\nThis sounds great. But there is an edge case, what happens if the\nreplication fails? We can\u0027t roll back the shard ranges by removing\nthem locally because the container replicators in the meal while might\nhave already managed to push somewhere because of a network blip.\n\nFor example, what happens if replication is down for that node after writing\nthe ranges, or the server goes down for maintenence, and a rebalance\nhappens, and now this \"leader\" who has shard ranges is a handoff. But\nwill still offload it\u0027s ranges when back online. Even after another leader\nhas since been elected and replicated a different set of ranges.\n\nThis patch is trying solve that edge case by  reducing that potential gap\nbetween the finding and inserting shard ranges locally and it\u0027s eventual\nreplication.\nIt does it by taking advantage of the \"still leader\" quorum. If it still\nis the leader after finding shard ranges, it goes and updates the other\nprimaries using the container UPDATE verb. So long as one of those\nis successful, it\u0027s safe to write the shard ranges locally.\nIf all UPDATEs fail, the scanner safely throws away the ranges and will\nhave another go when the connection or whatever is back.\n\nIt in essence gives us a rollback without having to be smart with\nreplication locking (locking out the container-replicators) writing and\nchecking if we managed to replication in the sharder.\n\nThis is just a POC to test out the theory, just a possible solution.\n\nChange-Id: I39f07180ce7990702e4fdfe7e43f313781d7e7d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ffb62743bcbbac64b9f34756e7e744879cce1ba8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ffb62743bcbbac64b9f34756e7e744879cce1ba8"}]},"branch":"refs/heads/master","description":"Rebase"},"170a34a7772e559ddf5ed87f98fece8e0110816c":{"kind":"REWORK","_number":5,"created":"2024-04-11 07:21:32.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/672650/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/672650/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/672650/5"}}},"commit":{"parents":[{"commit":"1d7ed28e8e26894ae58246572b2d5fa2a4996948","subject":"auto-shard: Add optional post scan leader confirmation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1d7ed28e8e26894ae58246572b2d5fa2a4996948"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-07-25 07:15:44.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2024-04-11 07:21:16.000000000","tz":600},"subject":"auto-sharding: send shard-ranges via container UPDATE","message":"auto-sharding: send shard-ranges via container UPDATE\n\nThis is more of a POC. The idea is pretty straight forward.\n\nBefore this patch:\n - a leader is determined to be the scanner node\n - that node will then go scan for shard ranges.\n - Once found, the scanner/leader asks via an all quorum if they\u0027re\n   still the leader.\n - If they are, then write the shard ranges into my DB and let\n   replication spread them out.\n\nThis sounds great. But there is an edge case, what happens if the\nreplication fails? We can\u0027t roll back the shard ranges by removing\nthem locally because the container replicators in the meal while might\nhave already managed to push somewhere because of a network blip.\n\nFor example, what happens if replication is down for that node after writing\nthe ranges, or the server goes down for maintenence, and a rebalance\nhappens, and now this \"leader\" who has shard ranges is a handoff. But\nwill still offload it\u0027s ranges when back online. Even after another leader\nhas since been elected and replicated a different set of ranges.\n\nThis patch is trying solve that edge case by  reducing that potential gap\nbetween the finding and inserting shard ranges locally and it\u0027s eventual\nreplication.\nIt does it by taking advantage of the \"still leader\" quorum. If it still\nis the leader after finding shard ranges, it goes and updates the other\nprimaries using the container UPDATE verb. So long as one of those\nis successful, it\u0027s safe to write the shard ranges locally.\nIf all UPDATEs fail, the scanner safely throws away the ranges and will\nhave another go when the connection or whatever is back.\n\nIt in essence gives us a rollback without having to be smart with\nreplication locking (locking out the container-replicators) writing and\nchecking if we managed to replication in the sharder.\n\nThis is just a POC to test out the theory, just a possible solution.\n\nChange-Id: I39f07180ce7990702e4fdfe7e43f313781d7e7d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/170a34a7772e559ddf5ed87f98fece8e0110816c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/170a34a7772e559ddf5ed87f98fece8e0110816c"}]},"branch":"refs/heads/master"},"175960beeb3447ac62c33db85b5a6a2905adb787":{"kind":"REWORK","_number":6,"created":"2024-04-29 02:07:33.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/672650/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/672650/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/672650/6"}}},"commit":{"parents":[{"commit":"1d7ed28e8e26894ae58246572b2d5fa2a4996948","subject":"auto-shard: Add optional post scan leader confirmation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1d7ed28e8e26894ae58246572b2d5fa2a4996948"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-07-25 07:15:44.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2024-04-29 02:07:04.000000000","tz":600},"subject":"auto-sharding: send shard-ranges via container UPDATE","message":"auto-sharding: send shard-ranges via container UPDATE\n\nThis is more of a POC. The idea is pretty straight forward.\n\nBefore this patch:\n - a leader is determined to be the scanner node\n - that node will then go scan for shard ranges.\n - Once found, the scanner/leader asks via an all quorum if they\u0027re\n   still the leader.\n - If they are, then write the shard ranges into my DB and let\n   replication spread them out.\n\nThis sounds great. But there is an edge case, what happens if the\nreplication fails? We can\u0027t roll back the shard ranges by removing\nthem locally because the container replicators in the meal while might\nhave already managed to push somewhere because of a network blip.\n\nFor example, what happens if replication is down for that node after writing\nthe ranges, or the server goes down for maintenence, and a rebalance\nhappens, and now this \"leader\" who has shard ranges is a handoff. But\nwill still offload it\u0027s ranges when back online. Even after another leader\nhas since been elected and replicated a different set of ranges.\n\nThis patch is trying solve that edge case by  reducing that potential gap\nbetween the finding and inserting shard ranges locally and it\u0027s eventual\nreplication.\nIt does it by taking advantage of the \"still leader\" quorum. If it still\nis the leader after finding shard ranges, it goes and updates the other\nprimaries using the container UPDATE verb. So long as one of those\nis successful, it\u0027s safe to write the shard ranges locally.\nIf all UPDATEs fail, the scanner safely throws away the ranges and will\nhave another go when the connection or whatever is back.\n\nIt in essence gives us a rollback without having to be smart with\nreplication locking (locking out the container-replicators) writing and\nchecking if we managed to replication in the sharder.\n\nThis is just a POC to test out the theory, just a possible solution.\n\nChange-Id: I39f07180ce7990702e4fdfe7e43f313781d7e7d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/175960beeb3447ac62c33db85b5a6a2905adb787"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/175960beeb3447ac62c33db85b5a6a2905adb787"}]},"branch":"refs/heads/master"},"9b36650cb211ad0bccf5b78d4ebab4ff3d20eed0":{"kind":"REWORK","_number":7,"created":"2024-05-06 02:28:36.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/50/672650/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/50/672650/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/50/672650/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/50/672650/7"}}},"commit":{"parents":[{"commit":"1d7ed28e8e26894ae58246572b2d5fa2a4996948","subject":"auto-shard: Add optional post scan leader confirmation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1d7ed28e8e26894ae58246572b2d5fa2a4996948"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2019-07-25 07:15:44.000000000","tz":600},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2024-05-06 02:27:12.000000000","tz":600},"subject":"auto-sharding: send shard-ranges via container UPDATE","message":"auto-sharding: send shard-ranges via container UPDATE\n\nThis is more of a POC. The idea is pretty straight forward.\n\nBefore this patch:\n - a leader is determined to be the scanner node\n - that node will then go scan for shard ranges.\n - Once found, the scanner/leader asks via an all quorum if they\u0027re\n   still the leader.\n - If they are, then write the shard ranges into my DB and let\n   replication spread them out.\n\nThis sounds great. But there is an edge case, what happens if the\nreplication fails? We can\u0027t roll back the shard ranges by removing\nthem locally because the container replicators in the meal while might\nhave already managed to push somewhere because of a network blip.\n\nFor example, what happens if replication is down for that node after writing\nthe ranges, or the server goes down for maintenence, and a rebalance\nhappens, and now this \"leader\" who has shard ranges is a handoff. But\nwill still offload it\u0027s ranges when back online. Even after another leader\nhas since been elected and replicated a different set of ranges.\n\nThis patch is trying solve that edge case by  reducing that potential gap\nbetween the finding and inserting shard ranges locally and it\u0027s eventual\nreplication.\nIt does it by taking advantage of the \"still leader\" quorum. If it still\nis the leader after finding shard ranges, it goes and updates the other\nprimaries using the container UPDATE verb. So long as one of those\nis successful, it\u0027s safe to write the shard ranges locally.\nIf all UPDATEs fail, the scanner safely throws away the ranges and will\nhave another go when the connection or whatever is back.\n\nIt does mean we have to delay moving a container to sharding state\nbecause the root could throw things away. But this only effects when in\nauto-sharding.\n\nIt in essence gives us a rollback without having to be smart with\nreplication locking (locking out the container-replicators) writing and\nchecking if we managed to replication in the sharder.\n\nThis is just a POC to test out the theory, just a possible solution.\n\nChange-Id: I39f07180ce7990702e4fdfe7e43f313781d7e7d3\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9b36650cb211ad0bccf5b78d4ebab4ff3d20eed0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/9b36650cb211ad0bccf5b78d4ebab4ff3d20eed0"}]},"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":""}}}]}
