)]}'
{"id":"openstack%2Fswift~768732","triplet_id":"openstack%2Fswift~master~Ib7450a85692114973782525004466db49f63066d","project":"openstack/swift","branch":"master","topic":"p-slo-close-iter","hashtags":[],"change_id":"Ib7450a85692114973782525004466db49f63066d","subject":"Use CloseableChain when creating iterator of SLO response","status":"MERGED","created":"2020-12-29 17:07:43.000000000","updated":"2020-12-30 10:46:54.000000000","submitted":"2020-12-29 20:19:13.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":8,"unresolved_comment_count":2,"has_review_started":true,"submission_id":"768732-p-slo-close-iter","meta_rev_id":"53f4f5234ba084ea37d474ca7a3c8ec0bfa4884d","_number":768732,"virtual_id_number":768732,"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":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2020-12-29 20:19:12.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"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2020-12-29 19:12:12.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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2020-12-29 19:12:12.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":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":"2020-12-29 18:18:59.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":"2020-12-29 19:12:12.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":"5a5257978357cbbd2d16b56196968281a7ed77a1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2020-12-29 17:07:43.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"f02721886548747c4f5d49ddb1cd47eae26a35f1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-29 18:18:59.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2fc7e4d389644fc0a4a1e47219a7f4eb : SUCCESS in 9m 09s\n- grenade https://zuul.opendev.org/t/openstack/build/b1f45357ecc54b9d920e669b1a2662e9 : SUCCESS in 1h 03m 48s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/4ab47f3627e045ef81e04133e789fa23 : SUCCESS in 53m 21s\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f0098b14311349a189c253404f07eb31 : SUCCESS in 7m 49s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/09cead1cb14b4ef3bc413b074a3e428b : SUCCESS in 7m 55s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/4aad96e5f1bb4ffba3a5eab1a400a46a : SUCCESS in 15m 37s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/952db2254db74f6e9c394dc2685a48f4 : SUCCESS in 16m 19s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/0b94b2d1c9b845ebb8e9a5fe33d0e73f : SUCCESS in 17m 43s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/baa88bc8443b4420ad4055eb4d81eb7b : SUCCESS in 12m 23s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/c5b5f9c731984590b3f6ca28a9611c58 : SUCCESS in 18m 35s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/84227a73adec4f79bbc9548e16e903dd : SUCCESS in 16m 29s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/39d39317f9b546478efc70bf769f8244 : SUCCESS in 24m 39s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/6675db6cd4a64af7976757227ee56987 : SUCCESS in 15m 50s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/cddcf3f1ef68497587abd6cbd5efce6d : SUCCESS in 17m 13s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/2785e47cea334d5cb7098cbee90089fb : SUCCESS in 26m 09s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/00ea48da15644585910351d2a378576b : SUCCESS in 22m 01s (non-voting)\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/b421dfbd6cd245d5bb8c11958ea9f496 : SUCCESS in 55m 24s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/30155df834ee458f97029efed996e9c2 : SUCCESS in 44m 31s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/feb60859c4b6452f9052a2252cf9ff02 : SUCCESS in 42m 51s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/53fa99aece1a48af8ba8d2316d94cd33 : SUCCESS in 38m 38s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/a485eac908454d52b605565a284b107a : SUCCESS in 12m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0e17a032d427444bb25fda540bf0d05f : SUCCESS in 5m 55s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/12ea96607e344eb3a81abc8f14857f67 : FAILURE in 7m 33s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f5f372481f004f2e8a5e3e38aa007452 : SUCCESS in 51m 37s","accounts_in_message":[],"_revision_number":1},{"id":"f84beeac105dafe9be61df351638d1b35f478278","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2020-12-29 19:12:12.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(5 comments)","accounts_in_message":[],"_revision_number":1},{"id":"e6b9161f28ae66f2f2aa67e5c65cb11a372b3f5b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-29 19:12:24.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"ceb3d7e13e7b2404aba05620a45cca760be7a4e6","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-29 20:19:12.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c8415a2511b4469d907cd898f150466e : SUCCESS in 8m 24s\n- grenade https://zuul.opendev.org/t/openstack/build/dce9271b4cd74e04ad80c6699287482c : SUCCESS in 1h 00m 38s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/5aa14cc70a314d58aa019c753b9952e0 : SUCCESS in 45m 22s\n- swift-upload-image https://zuul.opendev.org/t/openstack/build/6383c79e1bdc4885b2c9ec39039e6d3b : SUCCESS in 8m 09s (non-voting)\n- swift-upload-image-py3 https://zuul.opendev.org/t/openstack/build/a321e58d7fbf48d2a6d161ec9b51e209 : SUCCESS in 9m 03s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/26c954ed6084489998e487093dff7315 : SUCCESS in 12m 01s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/f124288b7bf14c6fbe819e91b95a4cae : SUCCESS in 12m 48s\n- swift-tox-py37 https://zuul.opendev.org/t/openstack/build/a7a94d9272f24381afc5af41688fdc3e : SUCCESS in 13m 16s\n- swift-tox-py38 https://zuul.opendev.org/t/openstack/build/441e98b213854b8aad35acadb8e3ec60 : SUCCESS in 12m 10s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/003958259d344d51a0e9237f6c591bf4 : SUCCESS in 14m 46s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/24c9af2ea5cf437a828783624f15c3ce : SUCCESS in 15m 17s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/a36b60e587d143a1aad2d2451523e308 : SUCCESS in 15m 51s\n- swift-tox-func-py37 https://zuul.opendev.org/t/openstack/build/36e2eb1c4e4849d8816223715039b3d1 : SUCCESS in 15m 41s\n- swift-tox-func-encryption-py37 https://zuul.opendev.org/t/openstack/build/70e7fc36164b4100b4ff2cc9e7401b6b : SUCCESS in 16m 30s\n- swift-tox-func-ec-py37 https://zuul.opendev.org/t/openstack/build/5a562c8b57d745b68134b18f8d12be3e : SUCCESS in 19m 10s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/a1d38df059224985b23a240bb6f560b7 : SUCCESS in 39m 53s\n- swift-probetests-centos-8 https://zuul.opendev.org/t/openstack/build/b9bc7b6b40414ee0ab902ee43b9a2e1f : SUCCESS in 41m 30s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/f1e3883760f04dcfae47cc8dcb2b5fbe : SUCCESS in 34m 44s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/c3f200d5d04c44b580cbd7a74a21f6b5 : SUCCESS in 30m 05s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/e295aff836454f2ebaf6599b2aec7e6d : SUCCESS in 12m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/208868ace9d9407698dc8c58e52a9acc : SUCCESS in 5m 15s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/84ade3cff29d4b3abcd5b41b5e90cff5 : SUCCESS in 1h 01m 41s","accounts_in_message":[],"_revision_number":1},{"id":"90a5ffccba3acfd1a9ad218b784333d19c0a428e","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-29 20:19:13.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":1},{"id":"599f5fa7af9e32dd73297502d8ecf9fe2994162d","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-12-29 20:20:28.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7048785b91054416959f3070915cb073 : SUCCESS in 53s\n- swift-promote-image https://zuul.opendev.org/t/openstack/build/2a3948b1978f46a7b00b263dc7c7f54c : SUCCESS in 37s (non-voting)\n- swift-promote-image-py3 https://zuul.opendev.org/t/openstack/build/cb5d1556e8d54614ab7aa7e5ceb575af : FAILURE in 39s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"53f4f5234ba084ea37d474ca7a3c8ec0bfa4884d","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2020-12-30 10:46:54.000000000","message":"Patch Set 1:\n\n(3 comments)\n\nThanks for the test suggestion, see https://review.opendev.org/c/openstack/swift/+/768774","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"5e3302649584b2aec523e5966671e43ea959ed27","revisions":{"5e3302649584b2aec523e5966671e43ea959ed27":{"kind":"REWORK","_number":1,"created":"2020-12-29 17:07:43.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/32/768732/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/32/768732/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/32/768732/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/32/768732/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/32/768732/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/32/768732/1"}}},"commit":{"parents":[{"commit":"0d06bd5be8d97456d96e0ea9bbb99508ec85a2b5","subject":"Merge \"s3api: Catch binascii.Error\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/0d06bd5be8d97456d96e0ea9bbb99508ec85a2b5"}]}],"author":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2020-12-29 15:09:24.000000000","tz":0},"committer":{"name":"Alistair Coles","email":"alistairncoles@gmail.com","date":"2020-12-29 16:14:28.000000000","tz":0},"subject":"Use CloseableChain when creating iterator of SLO response","message":"Use CloseableChain when creating iterator of SLO response\n\nWhen handling a GET response ProxyLoggingMiddleware will try to close\na reiterated [1] proxy response iterator if, for example, there is a\nclient disconnect.\n\nThe reiterate function encapsulates the result of calling iter() on\nthe proxy response. In the case of an SLO response, the iter method\nreturned an instance of iterchools.chain, rather than the response\nitself, which is an instance of SegmentedIterable. As a result the\nSegmentedIterable.close() method would not be called and object server\nconnections would not be closed.\n\nThis patch replaces the iterchools.chain with a CloseableChain which\nencapsulates the SegmentedIterable and closes it when\nCloseableChain.close() is called.\n\n[1] The use of reiterate was introduced by the Related-Change.\n\nCloses-Bug: #1909588\nRelated-Change: I27feabe923a6520e983637a9c68a19ec7174a0df\nChange-Id: Ib7450a85692114973782525004466db49f63066d\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5e3302649584b2aec523e5966671e43ea959ed27"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/5e3302649584b2aec523e5966671e43ea959ed27"}]},"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":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":{}}}]}
