)]}'
{"id":"openstack%2Fswift~767410","triplet_id":"openstack%2Fswift~master~I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b","project":"openstack/swift","branch":"master","topic":"p-shard-listings-loop","hashtags":[],"change_id":"I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b","subject":"Avoid loops when gathering container listings from shards","status":"MERGED","created":"2020-12-16 20:01:43.000000000","updated":"2021-01-08 15:51:21.000000000","submitted":"2021-01-08 15:49:56.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":12,"unresolved_comment_count":6,"has_review_started":true,"submission_id":"767410-p-shard-listings-loop","meta_rev_id":"d99004aad7ec61f08b7ef06f722245a56e361277","_number":767410,"virtual_id_number":767410,"owner":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-01-08 15:49:55.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":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"all":[{"value":2,"date":"2021-01-07 06:23:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":2,"date":"2021-01-06 16:35:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_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":{"approved":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"all":[{"value":0,"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":1,"date":"2021-01-08 14:37:58.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_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":[{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"}],"reviewers":{"REVIEWER":[{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-12-17 04:25:11.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":"2021-01-05 21:40:43.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2021-01-06 22:50:24.000000000","updated_by":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"reviewer":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"state":"REVIEWER"},{"updated":"2021-01-07 06:23:33.000000000","updated_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"reviewer":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"state":"REVIEWER"}],"messages":[{"id":"872bfdf32f1c75621007118d92e7358ef6264b2e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2020-12-16 20:01:43.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c56196c756b148e2de3714f1386e64bb076181d2","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-17 04:25:11.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bceb9ea578c8479c9b0fdf9a40fc2274 : SUCCESS in 8m 43s\n- grenade https://zuul.opendev.org/t/openstack/build/c98a8c9ced214fbda4fa55b4f1c40743 : SUCCESS in 1h 14m 54s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/886a59f3975c4730a3da08df449517ed : SUCCESS in 49m 29s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/eccaf90a52a24cd7b4e5036e8fe96843 : SUCCESS in 8m 12s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/1c2f9ecc78404521b4388b3b70b3966a : SUCCESS in 8m 58s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/9f8b2a2db9ec4d06bb9994ac680fd9c3 : SUCCESS in 12m 17s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/1d63102acc1844e895ae23c1973f9423 : SUCCESS in 18m 10s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/beb77a9023644345ba3eef87c8245c0a : SUCCESS in 19m 46s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/abc5024f531e4231bf7d9df13f49bbb2 : SUCCESS in 13m 37s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/a44630b38b1b494bbd2c135b8187fbfe : SUCCESS in 16m 06s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/1eba077dccba4216855b92e6f8c3a204 : SUCCESS in 15m 28s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/b50cdd2ea7d141e4aaa6539a3f1d3ec2 : SUCCESS in 16m 21s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/c517a26ba88c42cf86ee364adef385cb : SUCCESS in 17m 49s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/3ef41a413d8e4fee9ab69bce4d7e3681 : SUCCESS in 18m 43s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/d5532763a37441e28dd54bf78f56c63d : SUCCESS in 19m 20s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/f26af280861a4b99851e519016601426 : POST_FAILURE in 4m 58s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/d9d18a30b0f342f3a9cb30ccf0774558 : SUCCESS in 47m 09s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/aea28cf3e4ec446da0919fa4743946cd : TIMED_OUT in 1h 32m 57s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f281f59ced5746439c47363d32cf83cb : SUCCESS in 38m 47s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/6a0c0ac4069946a1946a0c09f818ee2d : SUCCESS in 14m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/66facdff9bf64945a51f0a2ea019ef75 : SUCCESS in 5m 46s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/ebc4a9155fce4f7086ffa464e240556e : FAILURE in 8m 10s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/68a48fc81c4249078763275c528ceefe : SUCCESS in 57m 30s","accounts_in_message":[],"_revision_number":1},{"id":"4646e852ab43ea4f351f4e0d7356bcc51c687ce0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-01 15:38:11.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.","accounts_in_message":[],"_revision_number":2},{"id":"2ec89ae057f1ed8d31c77c3ba15f1e43e7416e4f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-01 16:40:40.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7fcf777c5f3641aeaca45523d4ce4f6a : SUCCESS in 7m 33s\n- grenade https://zuul.opendev.org/t/openstack/build/86a42bcdb0e8492dabc7ecbb469ffd10 : SUCCESS in 49m 35s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/e2c75eecf86544e88e24eb3b3e495d7e : SUCCESS in 46m 39s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/22c6aaafe7394c16a64c6340e5b859e8 : SUCCESS in 7m 52s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/ad880088a49a495ab4ae2fddb0d73829 : SUCCESS in 7m 56s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/fc36e9f552ed403ab5e6703420eab28d : SUCCESS in 12m 14s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/22db2de74fc7423ea3f1024f6dd77d60 : SUCCESS in 12m 19s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/f1888cb75a9646d193bf82cd3f81cac1 : SUCCESS in 16m 18s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/bfe593d6157d4c0f8b586583ae014e26 : SUCCESS in 12m 38s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/3ab1760b0b1f40dcadebbed50f0e6ec8 : SUCCESS in 17m 05s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/44a6818fcc2d4258bea8f900c3041d2d : SUCCESS in 18m 40s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/87b980e1d8894e9da009ebf1dfdcce47 : SUCCESS in 19m 04s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/c9cba35a457843b5997d5a95109c0235 : SUCCESS in 16m 09s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/088e4fdca4704381b8833b540e4bb1df : SUCCESS in 17m 56s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/e7ecc53b86294e04b6816d510945e569 : SUCCESS in 17m 25s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/adfe3a35f03e45faa83cd1d00e611b16 : SUCCESS in 19m 26s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/30b75859b20841819bcb937450427472 : SUCCESS in 46m 11s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/10b672f16bfe45b0b38e4ef341cf8f83 : SUCCESS in 39m 19s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/b02b55a7ffb44485ae8107a17e02a6b6 : SUCCESS in 36m 54s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6a01ee19f5034376887547043b73ec96 : SUCCESS in 32m 26s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/47decd97d4554034843fca3eeef3e3a9 : SUCCESS in 15m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0fc1261cb0614617ad1814c5ebb5bc1d : SUCCESS in 5m 09s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c206c30b877641a6af64589abc758200 : FAILURE in 6m 40s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/132b561879514640a642459a426cd35c : SUCCESS in 57m 26s","accounts_in_message":[],"_revision_number":2},{"id":"ed90083fc4f16f3bd96752cc2684638b7fef3008","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-05 11:08:18.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"c0095e5116e421c49f0ef13fab09459b13376ff3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-05 12:19:10.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/accf6ca0f6fc40d3a24b2e5f12e49233 : SUCCESS in 11m 32s\n- grenade https://zuul.opendev.org/t/openstack/build/39e46be8b3a94c9098c047d4ecabab81 : SUCCESS in 54m 49s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/87b5e8c6c2934c1c8df1448adb7990d0 : SUCCESS in 41m 04s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/e3ad4dcd1c13443297fba893503e7863 : SUCCESS in 8m 58s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/3bf51ce03d804203b3b0e0faabbaebfb : SUCCESS in 10m 51s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/100f33c533fb4d19af86d6fb2f0f069d : SUCCESS in 11m 34s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/30babea1bdf64c46a3e168ecd0a6d45c : SUCCESS in 12m 40s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/eec03b14e55044b6933ef632ab362b44 : SUCCESS in 13m 42s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/7063ad0ee0f2457eaf2f589445afdd76 : SUCCESS in 12m 59s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/be00d02514c94fdaab56c5d509f8020f : SUCCESS in 15m 33s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/6fa3e3d4c13f46aca6433892036d079c : SUCCESS in 15m 47s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/c1e751108e2a4cdc92d46f1ab24fc1ba : SUCCESS in 15m 38s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/58226c49790a4648a883c33ed960e476 : SUCCESS in 17m 46s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/da087020cdd6455490ca12d8e7ca2880 : SUCCESS in 16m 46s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/c91245fe7c7d418f81e919460250f19c : SUCCESS in 21m 09s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/df9d9c872855496daae1743f17dad004 : SUCCESS in 20m 27s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/4e926e92b5df43b1999c6699909b938a : SUCCESS in 42m 37s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/fb064db65cd442cc9ce45edee617cc5b : SUCCESS in 1h 02m 53s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/61e9d5b1ecf94ef59304624ba43cbd42 : SUCCESS in 41m 33s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/108cb0b8517245ccb69c55c87feca8ab : SUCCESS in 43m 06s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/37f4337472924fec97c330f3b8708408 : SUCCESS in 14m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/811b1f635f8449aba48963ebb3167136 : SUCCESS in 6m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/3fffbd696b1e4a6f87209f5c8c6ac3dc : FAILURE in 10m 12s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/bcdd81f506dc4a0ebaa2236cf7616c3b : SUCCESS in 1h 09m 22s","accounts_in_message":[],"_revision_number":3},{"id":"5f3b5eb9283a77f083f7d6b94961a401f6b93f43","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-01-05 21:40:43.000000000","message":"Patch Set 3: Code-Review+1\n\n(7 comments)\n\nThis seems fine.  It definately handles the existing behaviors we were already asserting for.\n\nBut the commit message makes a convincing argument there\u0027s a situation where we\u0027d loop back to ... another shard, potentially?  I\u0027m not sure the tests fully cover that... I took a stab at it; but I\u0027m still confused:\n\nhttps://review.opendev.org/c/openstack/swift/+/769421\n\nHopefully someone can explain it to me - I tried!","accounts_in_message":[],"_revision_number":3},{"id":"94c6f64b9c4d7e535464cc14ffb583e9f51b458c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-06 16:17:41.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"b4f8cb5822f5105f49a482c28781de9e66301a07","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-06 16:18:43.000000000","message":"Patch Set 3:\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"dc71a839f9147ecfebc8dcf45d85bed10d14927c","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-06 16:20:50.000000000","message":"Patch Set 4: Workflow-1\n\nmessed up my branch","accounts_in_message":[],"_revision_number":4},{"id":"d9ab624cf966069ca2eb00106254e0de9c74ab3d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-06 16:24:23.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"7b9f77438de1d2f0f021db9b29c1d4b5edefae6a","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-06 16:30:10.000000000","message":"Patch Set 5:\n\nrebased, no other changes","accounts_in_message":[],"_revision_number":5},{"id":"4f6081b5577d380e80e7e25539eba0d4a99411b1","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-01-06 16:31:59.000000000","message":"Patch Set 5:\n\n\u003e Patch Set 5:\n\u003e \n\u003e rebased, no other changes\n\nsorry, this comment was meant for the dependent patch","accounts_in_message":[],"_revision_number":5},{"id":"04642d0e4b65407842b18690b2e2a59efb18542d","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-01-06 16:35:25.000000000","message":"Patch Set 5: Code-Review+2\n\n(2 comments)\n\nAlmost can\u0027t wait to have this bug fix merged, but we\u0027ll let Matt have look too","accounts_in_message":[],"_revision_number":5},{"id":"67f173a7976411abbf0d3a0780d86a9ee5ad8922","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-06 18:21:22.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/935f0cb9d6144d5cac419ea359df0e76 : SUCCESS in 7m 58s\n- grenade https://zuul.opendev.org/t/openstack/build/48d495a2b04c4afda592853cf85f2460 : SUCCESS in 1h 00m 49s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/6860f14deada4e45898c152ca9897db5 : SUCCESS in 46m 45s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/59e4b3c5a9764f76814b6a10ebe4b3b7 : SUCCESS in 9m 18s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/cf3d522e1eb14be7b7d7e05fee84deb9 : SUCCESS in 9m 28s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/d93155ef135a4efd8f42a189ab1b7b59 : SUCCESS in 12m 04s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/9e71317bfebd4a6a8e5b296cf2c1bb8e : SUCCESS in 14m 44s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/dfb39395f4f340268f386d1c0a365d23 : SUCCESS in 12m 07s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/c3e5085c56d8434595460b53dbc7b3d7 : SUCCESS in 16m 01s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/079688c0e9194aeabc8bc983c12dfcfc : SUCCESS in 16m 40s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/4b019f9f92824f9fbad7be420b0e9602 : SUCCESS in 17m 17s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/95eded3978c74674924a8037924adfa5 : SUCCESS in 15m 52s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/074cb750d5494952b34d2feb0eae9f0b : SUCCESS in 17m 50s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/5d4bcf87b6334d408c75dab9ccb99a22 : SUCCESS in 17m 02s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/9d74dc51e72d48949eb5110b0f161284 : SUCCESS in 18m 44s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/18f1cf3280d347979143b9615f8cc6bb : SUCCESS in 1h 26m 33s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/a27400f780b94b00be7d1f5806c33c3c : SUCCESS in 42m 56s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/c5f845089bc849f1854ce11120db2f93 : SUCCESS in 42m 40s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/56603f74498040e0bcb7a07d101098c1 : SUCCESS in 41m 01s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/ce8ed5b07b4a47eba12d5f438aff6d58 : SUCCESS in 54m 28s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4350a707f51c425c99ee6534a03a7ecb : SUCCESS in 19m 45s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e2e0321d3d52488c9f67c52fb5ceff48 : SUCCESS in 6m 43s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/c6f7891c1e7c4b5096a08a1332ebc334 : FAILURE in 9m 40s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3f5a01ccd63b44a59e3f1e223acbb0fc : SUCCESS in 1h 05m 44s","accounts_in_message":[],"_revision_number":5},{"id":"127e91ed2e1f4455e53ea3eb89303e3f660c7332","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2021-01-07 06:23:33.000000000","message":"Patch Set 5: Code-Review+2\n\nWith this patch applied (with the next one in the chain) the shrink probe tests has run over 20 times without the failure (I stopped it after 20).\n\nwith out it applied but the cached one applied the shrinking probe test would fail for me every 6 - 10 times.\n\nPete has added himself as a reviewer earlier today, so wont land this straight away as we might be wanting to look at it.","accounts_in_message":[],"_revision_number":5},{"id":"29c9de5c91cc9073aaab11c34b3439c4b2da1246","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-01-08 14:37:58.000000000","message":"Patch Set 5: Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"15cec6fa3a0a7efc345b36fd6b986eb3b9483f13","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-08 14:38:14.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"00fb0bc2e6f1c2b1c82cb1de20a5a791cf1ef010","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-08 15:49:55.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/36a549acdcf74954aaa07ccfec69bc7c : SUCCESS in 8m 21s\n- grenade https://zuul.opendev.org/t/openstack/build/d33a5481693f4851aa42754342c39a69 : SUCCESS in 1h 05m 46s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/be176a9fcf434d9d972ca3dfe84e8f9f : SUCCESS in 1h 00m 54s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/8e04818cef874a14a4220f338e45e437 : SUCCESS in 11m 06s (non-voting)\n- swift-upload-image-py3 https://zuul.opendev.org/t/openstack/build/44e2be7d02bf44098749cd5fea9efe37 : SUCCESS in 11m 10s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/66b794bfe9414481bdc03c0e6025806c : SUCCESS in 21m 57s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/e5b2407a1c254333968f2bdb2a22b21a : SUCCESS in 13m 25s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/aea6f4f6e4f940af8c63feea973887cc : SUCCESS in 13m 51s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/1aaec091083b405d9e2af3048e50fed9 : SUCCESS in 15m 53s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/d6ad386dfe374f5c9352e46dd9444ee0 : SUCCESS in 42m 37s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/6139acdf03fb49e782c8dc45de89a07c : SUCCESS in 21m 31s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/d0adf95a33784d6fb1b484b9893f7097 : SUCCESS in 16m 54s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/09bfc6a779ce445ca5abb68a727d2e23 : SUCCESS in 16m 53s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/4a3efb9471f64fb7aaacf1504cddd154 : SUCCESS in 20m 52s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/e36bacccbd9e424db65e08848b79e754 : SUCCESS in 18m 48s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/480f893dfed046b38db2fa79344ef43a : SUCCESS in 46m 55s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/ac6390d70a014a4f9d1949e80f07be62 : SUCCESS in 44m 05s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/abe66df9d08745ddb7cbce8e007992d4 : SUCCESS in 42m 25s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/f799d950e3ce4f35b1eeadbd9d0da8eb : SUCCESS in 43m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/26164e0ab1c745a0b22ecb0561fb8e2f : SUCCESS in 14m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1e6d35af9f1e4863b78b9c0cc72b79d3 : SUCCESS in 7m 26s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e4d60ae604ff47a79a0b13b28756df4b : SUCCESS in 51m 18s","accounts_in_message":[],"_revision_number":5},{"id":"2861645394a3c426983d8e6aaa84b04fc0a110b4","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-08 15:49:56.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":5},{"id":"d99004aad7ec61f08b7ef06f722245a56e361277","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-01-08 15:51:21.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9f09cb229b994e46b397c466a72151ab : SUCCESS in 53s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/9f249e0876e14d4c838bf2cfbe75b5c5 : SUCCESS in 45s (non-voting)\n- swift-promote-image-py3 https://zuul.opendev.org/t/openstack/build/021b7e54b16c4b76b49c91066297de67 : SUCCESS in 50s (non-voting)","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"453983764727ba528222a413691a0f0fc5a8f8cf","revisions":{"b9c6719a1c92ac0b123b6794f2a5aabfcfc7d609":{"kind":"REWORK","_number":1,"created":"2020-12-16 20:01:43.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/10/767410/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/10/767410/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/10/767410/1"}}},"commit":{"parents":[{"commit":"c0a08fc3becfa12723275a77844ef80a1feb45d5","subject":"Use cached shard ranges for container GETs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/c0a08fc3becfa12723275a77844ef80a1feb45d5"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2020-12-16 17:09:04.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2020-12-16 19:58:51.000000000","tz":0},"subject":"Avoid loops when gathering container listings from shards","message":"Avoid loops when gathering container listings from shards\n\nPreviously the proxy container controller could, in corner cases, get\ninto a loop while building a listing for a sharded container. For\nexample, if a root has a single shard then the proxy will be\nredirected to that shard, but if that shard has shrunk into the root\nthen it will redirect the proxy back to the root, and so on until the\nroot is updated with the shard\u0027s shrunken status.\n\nThere is already a guard to prevent the proxy fetching shard ranges\nagain from the same container that it is *currently* querying for\nlisting parts. That deals with the case when a container fills in gaps\nin its listing shard ranges with a reference to itself. This patch\nextends that guard to prevent the proxy fetching shard ranges again\nfrom any container that has previously been queried for listing parts.\n\nThe potential for the looping was increased by shard ranges being cached\ne.g. test.probe.test_sharder.TestContainerSharding.test_shrinking was\nprone to get into a container GET loop after shrinking the final shard\nto its root.\n\nChange-Id: I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b9c6719a1c92ac0b123b6794f2a5aabfcfc7d609"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/b9c6719a1c92ac0b123b6794f2a5aabfcfc7d609"}]},"branch":"refs/heads/master"},"47bca3bcc48d33c9c8c55e507cbbda4f9fdff4bb":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2021-01-01 15:38:11.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/10/767410/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/10/767410/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/10/767410/2"}}},"commit":{"parents":[{"commit":"e83a0d9e949e392ff415becff5aa7f820b2ec0a1","subject":"Use cached shard ranges for container GETs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/e83a0d9e949e392ff415becff5aa7f820b2ec0a1"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2020-12-16 17:09:04.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-01 15:37:54.000000000","tz":0},"subject":"Avoid loops when gathering container listings from shards","message":"Avoid loops when gathering container listings from shards\n\nPreviously the proxy container controller could, in corner cases, get\ninto a loop while building a listing for a sharded container. For\nexample, if a root has a single shard then the proxy will be\nredirected to that shard, but if that shard has shrunk into the root\nthen it will redirect the proxy back to the root, and so on until the\nroot is updated with the shard\u0027s shrunken status.\n\nThere is already a guard to prevent the proxy fetching shard ranges\nagain from the same container that it is *currently* querying for\nlisting parts. That deals with the case when a container fills in gaps\nin its listing shard ranges with a reference to itself. This patch\nextends that guard to prevent the proxy fetching shard ranges again\nfrom any container that has previously been queried for listing parts.\n\nThe potential for the looping was increased by shard ranges being cached\ne.g. test.probe.test_sharder.TestContainerSharding.test_shrinking was\nprone to get into a container GET loop after shrinking the final shard\nto its root.\n\nChange-Id: I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/47bca3bcc48d33c9c8c55e507cbbda4f9fdff4bb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/47bca3bcc48d33c9c8c55e507cbbda4f9fdff4bb"}]},"branch":"refs/heads/master"},"5a5980e9c4f640e0e99b970ab14431c48be03a60":{"kind":"REWORK","_number":3,"created":"2021-01-05 11:08:18.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/10/767410/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/10/767410/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/10/767410/3"}}},"commit":{"parents":[{"commit":"92b15b0436b2246e658af94bdc312bdffbebfc74","subject":"Merge \"Let developers/operators add watchers to object audit\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/92b15b0436b2246e658af94bdc312bdffbebfc74"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2020-12-16 17:09:04.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-05 11:05:07.000000000","tz":0},"subject":"Avoid loops when gathering container listings from shards","message":"Avoid loops when gathering container listings from shards\n\nPreviously the proxy container controller could, in corner cases, get\ninto a loop while building a listing for a sharded container. For\nexample, if a root has a single shard then the proxy will be\nredirected to that shard, but if that shard has shrunk into the root\nthen it will redirect the proxy back to the root, and so on until the\nroot is updated with the shard\u0027s shrunken status.\n\nThere is already a guard to prevent the proxy fetching shard ranges\nagain from the same container that it is *currently* querying for\nlisting parts. That deals with the case when a container fills in gaps\nin its listing shard ranges with a reference to itself. This patch\nextends that guard to prevent the proxy fetching shard ranges again\nfrom any container that has previously been queried for listing parts.\n\nChange-Id: I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5a5980e9c4f640e0e99b970ab14431c48be03a60"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5a5980e9c4f640e0e99b970ab14431c48be03a60"}]},"branch":"refs/heads/master"},"77e3487cee9753726abe5c299e87dc69e44f57b8":{"kind":"REWORK","_number":4,"created":"2021-01-06 16:17:41.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/10/767410/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/10/767410/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/10/767410/4"}}},"commit":{"parents":[{"commit":"92b15b0436b2246e658af94bdc312bdffbebfc74","subject":"Merge \"Let developers/operators add watchers to object audit\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/92b15b0436b2246e658af94bdc312bdffbebfc74"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2020-12-16 17:09:04.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-06 16:17:16.000000000","tz":0},"subject":"Avoid loops when gathering container listings from shards","message":"Avoid loops when gathering container listings from shards\n\nPreviously the proxy container controller could, in corner cases, get\ninto a loop while building a listing for a sharded container. For\nexample, if a root has a single shard then the proxy will be\nredirected to that shard, but if that shard has shrunk into the root\nthen it will redirect the proxy back to the root, and so on until the\nroot is updated with the shard\u0027s shrunken status.\n\nThere is already a guard to prevent the proxy fetching shard ranges\nagain from the same container that it is *currently* querying for\nlisting parts. That deals with the case when a container fills in gaps\nin its listing shard ranges with a reference to itself. This patch\nextends that guard to prevent the proxy fetching shard ranges again\nfrom any container that has previously been queried for listing parts.\n\nChange-Id: I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/77e3487cee9753726abe5c299e87dc69e44f57b8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/77e3487cee9753726abe5c299e87dc69e44f57b8"}]},"branch":"refs/heads/master"},"453983764727ba528222a413691a0f0fc5a8f8cf":{"kind":"REWORK","_number":5,"created":"2021-01-06 16:24:23.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/10/767410/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/10/767410/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/10/767410/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/10/767410/5"}}},"commit":{"parents":[{"commit":"92b15b0436b2246e658af94bdc312bdffbebfc74","subject":"Merge \"Let developers/operators add watchers to object audit\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/92b15b0436b2246e658af94bdc312bdffbebfc74"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-06 16:22:26.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-06 16:22:26.000000000","tz":0},"subject":"Avoid loops when gathering container listings from shards","message":"Avoid loops when gathering container listings from shards\n\nPreviously the proxy container controller could, in corner cases, get\ninto a loop while building a listing for a sharded container. For\nexample, if a root has a single shard then the proxy will be\nredirected to that shard, but if that shard has shrunk into the root\nthen it will redirect the proxy back to the root, and so on until the\nroot is updated with the shard\u0027s shrunken status.\n\nThere is already a guard to prevent the proxy fetching shard ranges\nagain from the same container that it is *currently* querying for\nlisting parts. That deals with the case when a container fills in gaps\nin its listing shard ranges with a reference to itself. This patch\nextends that guard to prevent the proxy fetching shard ranges again\nfrom any container that has previously been queried for listing parts.\n\nChange-Id: I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/453983764727ba528222a413691a0f0fc5a8f8cf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/453983764727ba528222a413691a0f0fc5a8f8cf"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
