)]}'
{"id":"openstack%2Fswift~777036","triplet_id":"openstack%2Fswift~stable%2Fvictoria~I0e83bc18494b85f8c20698998c66ec423646475d","project":"openstack/swift","branch":"stable/victoria","topic":"victoria-sharding","hashtags":[],"change_id":"I0e83bc18494b85f8c20698998c66ec423646475d","subject":"Avoid loops when gathering container listings from shards","status":"MERGED","created":"2021-02-23 00:47:18.000000000","updated":"2021-02-25 21:11:31.000000000","submitted":"2021-02-25 21:09:59.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"777036-victoria-sharding","meta_rev_id":"656e1f92cc826b9682a4aff917e6d5ce44446b55","_number":777036,"virtual_id_number":777036,"owner":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-02-25 21:09:59.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"recommended":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":1,"date":"2021-02-23 10:06:45.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2021-02-25 19:43:45.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2021-02-25 19:43:45.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-02-23 00:47:18.000000000","updated_by":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"REVIEWER"},{"updated":"2021-02-23 01:58:42.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-02-25 19:43:45.000000000","updated_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"reviewer":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"state":"REVIEWER"}],"messages":[{"id":"e97f4530738c983e6aa9838173efebb6b4096f86","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2021-02-23 00:47:18.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"02212cef983704f132e9e2cf325a595f6675436a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-23 01:58:42.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/189c8f4e54b04bc990b9d39f584fd1ec : SUCCESS in 9m 12s\n- grenade https://zuul.opendev.org/t/openstack/build/a432846b9d3846d8a3228d45fad18456 : SUCCESS in 1h 02m 36s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/1b8a01a1451b4f9a9bc42c6ecf50a52a : SUCCESS in 1h 02m 47s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/3c5e30d79d484f1591f2ef883f1dab77 : SUCCESS in 9m 02s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/883e56433f39464aaa410d30e1f2760a : SUCCESS in 7m 33s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/97c1d04f0f024772b3edd8e3c450891e : SUCCESS in 13m 09s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/994a30a158fc4a1c9916619ea33eed4b : SUCCESS in 13m 39s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/18501115e843457fa56c34e540088968 : SUCCESS in 13m 37s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/0565bc39d95b4b3097138a9bd5f0b36d : SUCCESS in 15m 21s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/551dd117404b45209a5837aa1d8f675c : SUCCESS in 16m 03s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/10864d79cf83421787bed58c769603cd : SUCCESS in 16m 16s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/0697133d17ce4954b3f78a6200bad42d : SUCCESS in 16m 29s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/92784d634a334a9585c63abbadfa2621 : SUCCESS in 16m 43s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/a3499ef2d16b4db9b0c9a89d2baf2edc : SUCCESS in 16m 43s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/7e2e87bcb3b345f0abeae095f81b63a0 : SUCCESS in 17m 37s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/73a52a1d5bfd4796b3746948c237d53f : SUCCESS in 23m 38s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/5fe22e431dcb416795d32c2455fce3e9 : SUCCESS in 52m 32s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/5edfb5648b4f4e778e2f18189c95cf8b : SUCCESS in 37m 37s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/b42e231f3b9440a0bb5af93223836842 : SUCCESS in 37m 51s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/850ad48064da48d8b06bb12a4617895f : SUCCESS in 13m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/15fbf997f52d4cc0a321bf94bd008a73 : SUCCESS in 6m 18s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/8fe52474ee5043959d4b7a7ead32b6fe : FAILURE in 10m 54s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/618713a09f9a4046b3b79e921f54b3a9 : SUCCESS in 1h 04m 46s","accounts_in_message":[],"_revision_number":1},{"id":"074a295b8c8f84b2a1f7ed85c81bbf9cc1f29211","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-02-23 10:06:45.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"4696b752e35c88627894e92fcf6d82634529b7b0","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2021-02-25 19:43:45.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\nClean cherry-pick, tests cover the change. LGTM","accounts_in_message":[],"_revision_number":1},{"id":"cde815974fa73e5804f0aeae32e1f382a2de5477","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-25 19:52:55.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"69c1ab31a2cd49ed89b8226854912f4d6966e247","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-25 21:09:59.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4acb63a9f172434b8455a558e8612af0 : SUCCESS in 9m 32s\n- grenade https://zuul.opendev.org/t/openstack/build/b553ed5a073e4947a860e310d2587039 : SUCCESS in 58m 23s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/16ce835c2e82491fadf7c81237f16ef1 : SUCCESS in 42m 29s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/54cbec763d1d42fda5de5bbc5c4f8fc6 : SUCCESS in 10m 24s (non-voting)\n- swift-upload-image-py3 https://zuul.opendev.org/t/openstack/build/52b71642c14b424c94338f86a464c16d : SUCCESS in 7m 56s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/d64cb611259a48d984a1a8ab19936724 : SUCCESS in 15m 13s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/0b01c93189e14cd082ea327a72ffe4c5 : SUCCESS in 14m 20s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/74e1a0a0542a4e8696b45de6ffed826a : SUCCESS in 13m 45s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/b03512712a7d43c9ac128948f70f393f : SUCCESS in 13m 02s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/ca6ec1ae162145848fa686454fea86b4 : SUCCESS in 15m 47s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/7bad7ee2e2a64deab754b31aaf3960aa : SUCCESS in 21m 02s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/321af5759ede459d913832dc82de1a75 : SUCCESS in 17m 01s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/5b39ac788799424d8d1f0d845dc3b4d2 : SUCCESS in 18m 57s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/56984083153a451d95d52be9fcdee7d8 : SUCCESS in 20m 44s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/93076c7e7ac1453cb1acf98e11626829 : SUCCESS in 46m 55s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/86fe76d9f1f04eceafc48aea80f55047 : SUCCESS in 52m 56s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/0ab58a446fad4009ab03404d943cc613 : SUCCESS in 45m 39s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/c362f644d66a42d8a5b64711dc31edf4 : SUCCESS in 17m 05s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2371929bcb114a61a64df479b52c8741 : SUCCESS in 7m 37s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/993a471e0e85403189712ad458ca5742 : SUCCESS in 1h 09m 02s","accounts_in_message":[],"_revision_number":1},{"id":"9f67db623634c6f2f0b07470bff79a69f0d5b6f8","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-25 21:09:59.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"656e1f92cc826b9682a4aff917e6d5ce44446b55","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-02-25 21:11:31.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4c4af73355584fa7a36e6035e2d2841f : SUCCESS in 1m 04s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/9ceeda34170f4da6ba65d492258b0477 : FAILURE in 50s (non-voting)\n- swift-promote-image-py3 https://zuul.opendev.org/t/openstack/build/431fe6dc1fa3459aa10e3da69b93213d : SUCCESS in 56s (non-voting)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"1032b45e10cf942f3790f245be463bbf9b5002ab","revisions":{"1032b45e10cf942f3790f245be463bbf9b5002ab":{"kind":"REWORK","_number":1,"created":"2021-02-23 00:47:18.000000000","uploader":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"ref":"refs/changes/36/777036/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/36/777036/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/777036/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/777036/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/36/777036/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/36/777036/1"}}},"commit":{"parents":[{"commit":"2558be42c806ca19f913f20fb201a7a0597a71fb","subject":"Populate shrinking shards with shard ranges learnt from root","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/2558be42c806ca19f913f20fb201a7a0597a71fb"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-01-06 16:22:26.000000000","tz":0},"committer":{"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","date":"2021-02-23 00:39:09.000000000","tz":-360},"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\nCherry-Picked-From: I7dc793f0ec65236c1278fd93d6b1f17c2db98d7b\nChange-Id: I0e83bc18494b85f8c20698998c66ec423646475d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1032b45e10cf942f3790f245be463bbf9b5002ab"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/1032b45e10cf942f3790f245be463bbf9b5002ab"}]},"branch":"refs/heads/stable/victoria"}},"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":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"}}]}],"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":{}}}]}
