)]}'
{"id":"openstack%2Fswift~788540","triplet_id":"openstack%2Fswift~master~I8bca2d0804569952d31aee7de4ffe60ede4343d2","project":"openstack/swift","branch":"master","topic":"p-lonely-frag","hashtags":[],"change_id":"I8bca2d0804569952d31aee7de4ffe60ede4343d2","subject":"reconstructor: extract closure for handle_response","status":"MERGED","created":"2021-04-28 16:15:26.000000000","updated":"2021-04-28 23:10:44.000000000","submitted":"2021-04-28 23:07:47.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":3,"has_review_started":true,"submission_id":"788540-p-lonely-frag","meta_rev_id":"96659bdbe5d7ab16e02735d00f6fcca1f5b4f717","_number":788540,"virtual_id_number":788540,"owner":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"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"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-04-28 23:07:45.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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":2,"date":"2021-04-28 17:54:15.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":2,"date":"2021-04-28 17:56:49.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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":1,"date":"2021-04-28 17:56:49.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":[],"reviewers":{"REVIEWER":[{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_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":"2021-04-28 17:42:39.000000000","updated_by":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"reviewer":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"state":"REVIEWER"},{"updated":"2021-04-28 19:29:22.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"7d6525b0769d63f2a8d714ffc5b169521a01f357","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-04-28 16:15:26.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d8fec207980cc880b819042bebcf0c02c3408d37","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-04-28 16:46:24.000000000","message":"Patch Set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"a5ea6ae3847832e6b2dda6065926c43526e9e17b","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-04-28 17:42:39.000000000","message":"Patch Set 2: Code-Review+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":2},{"id":"d61b7b1a8743a64d9ca4e1519b430835e77dc1f8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-04-28 17:50:49.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"087195d4577ac75772ba2bff322876894f9170fa","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2021-04-28 17:54:15.000000000","message":"Patch Set 3: Code-Review+2\n\n@clay if you\u0027re ok with my tweaks then add +a, this is great","accounts_in_message":[],"_revision_number":3},{"id":"3369cffd0282ce621d9636939d9caff5f9ba203c","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2021-04-28 17:56:49.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"24828404563342724c1dbc58d105a260cba38739","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-28 19:29:22.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bf9e0d7445874a748e5224278387244e : SUCCESS in 11m 50s\n- grenade https://zuul.opendev.org/t/openstack/build/99b6d5eae8414248ad8d45b82de7f48d : SUCCESS in 1h 35m 19s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/88e0fbaea9fe40229965c8901a069c51 : SUCCESS in 34m 29s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/b6a7c9f3c710474c9a183eb29e4a01cf : SUCCESS in 8m 36s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/5a05fcde9838454484daac04c896d9f2 : SUCCESS in 7m 50s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/ac79859ec54f4046b66d7f22cb43f825 : SUCCESS in 12m 03s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/5a992372b3664bd8a3fef513916e75c5 : SUCCESS in 15m 30s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/4b06b20184754c978aca727dbc7e5aba : SUCCESS in 12m 54s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/497cb787905247f2a8ce68c743076013 : SUCCESS in 16m 16s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/4af90fa01d7e46e28acc9435e5a3dfbd : SUCCESS in 16m 48s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/f9839679149144ad91e7f909bdac047c : SUCCESS in 20m 15s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/e48efbecc3684d30987df49111472ef1 : SUCCESS in 16m 14s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/927b8941bc494d6b8e65642986ba928d : SUCCESS in 18m 29s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/8db997d603a84cc6833d030f34da5ffc : SUCCESS in 18m 11s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/e94393bee5b74a0498ea484414f242e8 : SUCCESS in 22m 01s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/99795d325e054a69adbc2928e417823e : SUCCESS in 17m 20s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/234d216d576041d1ac1a07d9f509ea86 : SUCCESS in 6m 39s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/a55027fbd0d44e1d91b8a3e2c8bd9ffa : SUCCESS in 20m 54s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/13a4abe279764e08a5d31472e496b92c : SUCCESS in 52m 46s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/8b62f4015f1b4ac7a04176031fc46c38 : SUCCESS in 46m 38s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/dddb6ac3b4e94c6a8a0ca4c92286c074 : SUCCESS in 41m 47s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/4b834eb3c57b4f10b4b84a2daad123b3 : SUCCESS in 40m 29s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ff6b06cfdf594e95ac306142e2b8ef2b : SUCCESS in 18m 48s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e92875ae35494941940629367028783f : SUCCESS in 5m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/0e51c4fbca7e4de186a5608d23ca0459 : SUCCESS in 40m 57s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b54ebb23926244b08c0e70ef97eaf085 : SUCCESS in 58m 03s","accounts_in_message":[],"_revision_number":3},{"id":"5d2a5983425150641ce33b31bcd788ab9b6b22e2","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-28 21:21:37.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"fd6f25d756faf97af1563c20b82bccbb9579833f","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-28 23:07:45.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3b819b98714747328fb35cf0a7c00e56 : SUCCESS in 9m 25s\n- grenade https://zuul.opendev.org/t/openstack/build/b30cef1ec00241589a38c103f5b1d94f : SUCCESS in 56m 56s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/bb132bfdf5b64bbaa22d9d616414a33a : SUCCESS in 38m 56s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/c667a6e0adf94f1bb9a98b56bc016d13 : SUCCESS in 11m 37s (non-voting)\n- swift-upload-image-py3 https://zuul.opendev.org/t/openstack/build/69852f34ee754713a78c824f073174e6 : SUCCESS in 8m 50s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/2ef09a44d0344a1a97143a40781620a3 : SUCCESS in 13m 12s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/f32dbe7716fa4b7e8baccc573549832a : SUCCESS in 26m 12s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/5106dead9dfd49e280cff0197a6b246c : SUCCESS in 26m 14s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/008736025b0945a080b7b761578af27e : SUCCESS in 15m 55s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/82929626a9154d1b9ac36eb5e5ba0ed8 : SUCCESS in 15m 39s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/d960357757e5446ca4cfddbb269d4527 : SUCCESS in 23m 23s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/0f6b16031ef84a989e785d0d36ca535d : SUCCESS in 31m 14s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/684bf86f2edd43e98ff05bc6127f8d6e : SUCCESS in 18m 58s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/83333fc9190045d086f77cd8dec771dc : SUCCESS in 17m 13s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/8adc6690116e4503b49ce6df37ee3058 : SUCCESS in 17m 57s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/15be0d8c156843d0a80ef14530487427 : SUCCESS in 29m 31s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/f0b20c38ae3d4e70aba64e6cfebd75f0 : SUCCESS in 8m 12s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/51f7edf83ade4c36abbf5a3f041930ed : SUCCESS in 47m 53s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/ce2ec7ca7bbb4ab899ef731e5b0dc09d : SUCCESS in 48m 56s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/9b0d7db6be734990bd1221381ad00a3f : SUCCESS in 38m 45s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/6f0e5ccaf99946178aeb3d0a8bbf878a : SUCCESS in 40m 35s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/fee986e89acd4e4caaca12c89facb4c8 : SUCCESS in 14m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d7578a97a02a4679b3aa3df97f645557 : SUCCESS in 7m 05s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/1cb3a343f82a40a2a44b3793cf6d8826 : SUCCESS in 43m 11s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/5b85d98a615b4acfbf557b9fa9e92e40 : SUCCESS in 1h 14m 30s","accounts_in_message":[],"_revision_number":3},{"id":"3ec0233525d3b5cb4c0ba8f5b90512f153c1ad7d","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-28 23:07:47.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":3},{"id":"96659bdbe5d7ab16e02735d00f6fcca1f5b4f717","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-04-28 23:10:44.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7c362e082e4a477d8dde71771078b4d2 : SUCCESS in 1m 04s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/16f7569d7e4f49c2b2f4cff61f3efa5d : SUCCESS in 42s (non-voting)\n- swift-promote-image-py3 https://zuul.opendev.org/t/openstack/build/fbada377b5bd4c918b4dcee79901cb0e : SUCCESS in 40s (non-voting)","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"ab8accbb0a388c56b43736082daa0ac43d2b8ba1","revisions":{"931674a5db7778a3c43ce160cd6acd178428ba79":{"kind":"REWORK","_number":1,"created":"2021-04-28 16:15:26.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/40/788540/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/40/788540/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/40/788540/1"}}},"commit":{"parents":[{"commit":"7960097f02bab5a4568eddb6b98d7b8b47543561","subject":"reconstructor: log more details when rebuild fails","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7960097f02bab5a4568eddb6b98d7b8b47543561"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2021-04-28 15:54:58.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2021-04-28 15:55:00.000000000","tz":-300},"subject":"reconstructer: extract closure for handle_response","message":"reconstructer: extract closure for handle_response\n\nSince _get_response was already a method, and called after the inline\ndefinition of the handle_repsonse closure (but before we called the\nclosure) I found the control flow to be confusingly different from\nvisual layout of the code.\n\nPassing a few extra params around felt worth doing a:\n\ndef _get_response(self, ...\ndef _handle_response(self, ...\n\n... and then using them, in that order, in the next method we define\n_make_fragment_requests (which is now quite short and obvoius, despite\ndoing some concurrency with a GreenAsyncPile)\n\nChange-Id: I8bca2d0804569952d31aee7de4ffe60ede4343d2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/931674a5db7778a3c43ce160cd6acd178428ba79"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/931674a5db7778a3c43ce160cd6acd178428ba79"}]},"branch":"refs/heads/master"},"5da23cc2d7cf747d007344c49c7afcbde0d21410":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2021-04-28 16:46:24.000000000","uploader":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"ref":"refs/changes/40/788540/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/40/788540/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/40/788540/2"}}},"commit":{"parents":[{"commit":"7960097f02bab5a4568eddb6b98d7b8b47543561","subject":"reconstructor: log more details when rebuild fails","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7960097f02bab5a4568eddb6b98d7b8b47543561"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2021-04-28 15:54:58.000000000","tz":-300},"committer":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2021-04-28 16:46:24.000000000","tz":0},"subject":"reconstructor: extract closure for handle_response","message":"reconstructor: extract closure for handle_response\n\nSince _get_response was already a method, and called after the inline\ndefinition of the handle_repsonse closure (but before we called the\nclosure) I found the control flow to be confusingly different from\nvisual layout of the code.\n\nPassing a few extra params around felt worth doing a:\n\ndef _get_response(self, ...\ndef _handle_response(self, ...\n\n... and then using them, in that order, in the next method we define\n_make_fragment_requests (which is now quite short and obvoius, despite\ndoing some concurrency with a GreenAsyncPile)\n\nRelated-Change-Id: I3f87933f788685775ce59f3724f17d5db948d502\nChange-Id: I8bca2d0804569952d31aee7de4ffe60ede4343d2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5da23cc2d7cf747d007344c49c7afcbde0d21410"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5da23cc2d7cf747d007344c49c7afcbde0d21410"}]},"branch":"refs/heads/master","description":"Edit commit message"},"ab8accbb0a388c56b43736082daa0ac43d2b8ba1":{"kind":"REWORK","_number":3,"created":"2021-04-28 17:50:49.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/40/788540/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/40/788540/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/40/788540/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/40/788540/3"}}},"commit":{"parents":[{"commit":"7960097f02bab5a4568eddb6b98d7b8b47543561","subject":"reconstructor: log more details when rebuild fails","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/7960097f02bab5a4568eddb6b98d7b8b47543561"}]}],"author":{"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","date":"2021-04-28 15:54:58.000000000","tz":-300},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2021-04-28 17:43:15.000000000","tz":60},"subject":"reconstructor: extract closure for handle_response","message":"reconstructor: extract closure for handle_response\n\nSince _get_response was already a method, and called after the inline\ndefinition of the handle_response closure (but before we called the\nclosure) I found the control flow to be confusingly different from\nvisual layout of the code.\n\nPassing a few extra params around felt worth doing a:\n\ndef _get_response(self, ...\ndef _handle_response(self, ...\n\n... and then using them, in that order, in the next method we define\n_make_fragment_requests (which is now quite short and obvoius, despite\ndoing some concurrency with a GreenAsyncPile)\n\nRelated-Change-Id: I3f87933f788685775ce59f3724f17d5db948d502\nChange-Id: I8bca2d0804569952d31aee7de4ffe60ede4343d2\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ab8accbb0a388c56b43736082daa0ac43d2b8ba1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/ab8accbb0a388c56b43736082daa0ac43d2b8ba1"}]},"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":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}},{"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":{}}}]}
