)]}'
{"id":"openstack%2Fswift~199043","triplet_id":"openstack%2Fswift~master~I77af9807816bea1444d66534a17e2a210bcf09f8","project":"openstack/swift","branch":"master","topic":"bug/1472201","hashtags":[],"change_id":"I77af9807816bea1444d66534a17e2a210bcf09f8","subject":"Fix EC GET backend stream iteration state","status":"MERGED","created":"2015-07-07 10:27:58.000000000","updated":"2015-08-31 12:05:12.000000000","submitted":"2015-08-31 12:05:08.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"fb8379c522e075895fd5ea296bef9092da5e3857","_number":199043,"virtual_id_number":199043,"owner":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"date":"2015-08-26 03:28:48.000000000","_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":15932,"name":"Bill Huber","email":"wbhuber@us.ibm.com","username":"wbhuber"},{"value":0,"date":"2015-08-26 03:13:31.000000000","_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":0,"date":"2015-08-26 00:37:10.000000000","_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":0,"_account_id":13104,"name":"Minwoo Bae","email":"minwoob@us.ibm.com","username":"minwoob"},{"value":2,"date":"2015-08-31 12:05:08.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"}],"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":0,"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":15932,"name":"Bill Huber","email":"wbhuber@us.ibm.com","username":"wbhuber"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":2,"date":"2015-08-26 16:55:38.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":2,"date":"2015-08-31 02:46:00.000000000","_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":0,"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":0,"_account_id":13104,"name":"Minwoo Bae","email":"minwoob@us.ibm.com","username":"minwoob"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"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":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"all":[{"value":0,"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"value":0,"_account_id":15932,"name":"Bill Huber","email":"wbhuber@us.ibm.com","username":"wbhuber"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":1,"date":"2015-08-31 02:46:00.000000000","_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"value":0,"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"value":0,"_account_id":13104,"name":"Minwoo Bae","email":"minwoob@us.ibm.com","username":"minwoob"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},{"_account_id":13104,"name":"Minwoo Bae","email":"minwoob@us.ibm.com","username":"minwoob"},{"_account_id":15932,"name":"Bill Huber","email":"wbhuber@us.ibm.com","username":"wbhuber"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-07-13 21:14:31.000000000","updated_by":{"_account_id":13104,"name":"Minwoo Bae","email":"minwoob@us.ibm.com","username":"minwoob"},"reviewer":{"_account_id":13104,"name":"Minwoo Bae","email":"minwoob@us.ibm.com","username":"minwoob"},"state":"REVIEWER"},{"updated":"2015-07-15 21:57:08.000000000","updated_by":{"_account_id":15932,"name":"Bill Huber","email":"wbhuber@us.ibm.com","username":"wbhuber"},"reviewer":{"_account_id":15932,"name":"Bill Huber","email":"wbhuber@us.ibm.com","username":"wbhuber"},"state":"REVIEWER"},{"updated":"2015-08-26 03:13:31.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":"2015-08-26 03:28:48.000000000","updated_by":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2015-08-26 16:55:38.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":"2015-08-31 02:46:00.000000000","updated_by":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"reviewer":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"state":"REVIEWER"},{"updated":"2015-08-31 12:05:08.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"712621d08ff0430fd9217a0206f70859b5ddabe3","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-07-07 10:27:58.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"baa9dbc9e658b8b3508987452c78ef29a65242e2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-07-07 11:29:16.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-pep8 http://logs.openstack.org/43/199043/1/check/gate-swift-pep8/e6df721/ : SUCCESS in 2m 57s\n- gate-swift-docs http://docs-draft.openstack.org/43/199043/1/check/gate-swift-docs/5dc5899//doc/build/html/ : SUCCESS in 3m 50s\n- gate-swift-python27 http://logs.openstack.org/43/199043/1/check/gate-swift-python27/ee5abea/ : SUCCESS in 4m 40s\n- gate-swift-tox-func http://logs.openstack.org/43/199043/1/check/gate-swift-tox-func/5fb4003/ : SUCCESS in 5m 28s (non-voting)\n- gate-swift-python34 http://logs.openstack.org/43/199043/1/check/gate-swift-python34/771b249/ : FAILURE in 3m 18s (non-voting)\n- check-tempest-dsvm-full http://logs.openstack.org/43/199043/1/check/check-tempest-dsvm-full/14066c5/ : SUCCESS in 57m 22s\n- check-grenade-dsvm http://logs.openstack.org/43/199043/1/check/check-grenade-dsvm/328114a/ : SUCCESS in 59m 18s\n- check-swift-dsvm-functional http://logs.openstack.org/43/199043/1/check/check-swift-dsvm-functional/f0cd576/ : SUCCESS in 38m 42s","accounts_in_message":[],"_revision_number":1},{"id":"c2b05c9657b947bbaa5934429bc33f10707e409b","author":{"_account_id":13104,"name":"Minwoo Bae","email":"minwoob@us.ibm.com","username":"minwoob"},"date":"2015-07-13 21:14:31.000000000","message":"Patch Set 1: Code-Review+1\n\nLooks good to me.","accounts_in_message":[],"_revision_number":1},{"id":"21359c4989f66bf4e56cfd23b9e3763d9643d840","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2015-07-22 04:36:35.000000000","message":"Patch Set 1: Code-Review-1\n\nok, so the log message *is* annoying - but I\u0027m not sure I understand everything that\u0027s going on here, or that this patch is doing the right thing.\n\nYou have negative tests - but no positive test.  I wrote one [1] - and while it passes on master - it would also expect *still* pass with this change.  What\u0027s going on?  We still want to warn disconnects right?\n\nI also found some other EC requests against the in-process servers so I added some test setUp/tearDown for some additional free validation and found a case where the proxy throws away requests to the backend services on the client\u0027s behalf which were erroneously logged as client disconnects [2].  The fix there lead me to slo\u0027s trick for shutting down backend generators quietly and gracefully.\n\nWould using that [3] be better for the general case too?  Maybe translating that StopIteration to a return on ~L925 is adding an extra call to next before the generator gets shut down naturally and makes the close call void?\n\n1. https://gist.github.com/clayg/9866ff3b81ec0da42661\n\n2. https://gist.github.com/clayg/2556b06d255039f478bb\n\n3. https://gist.github.com/clayg/b2d05b2d16d94ab558fb","accounts_in_message":[],"_revision_number":1},{"id":"54002557cedfdb6db8a11d7b4e7db90ea30aa3b4","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-07-22 15:08:09.000000000","message":"Patch Set 1:\n\nAwesome comments and works, clay. I agree we should have positive tests and current patch set was worse because exactly no client disconnected log appeared on the positive case, nice catch.\n\nUsing non_client_disconnected seems a better way but I have to make sure the behavior before submitting a new patch set. Thanks!","accounts_in_message":[],"_revision_number":1},{"id":"f551077978fc87c8568e1bcdfe6ef52b0d7b2b0a","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-08-04 07:55:53.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"e5adad7eb2977219159aa385a4dd583f7e0c58b3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-04 08:43:10.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-swift-pep8 http://logs.openstack.org/43/199043/2/check/gate-swift-pep8/7b9d096/ : SUCCESS in 2m 04s\n- gate-swift-docs http://docs-draft.openstack.org/43/199043/2/check/gate-swift-docs/36e3174//doc/build/html/ : SUCCESS in 2m 38s\n- gate-swift-python27 http://logs.openstack.org/43/199043/2/check/gate-swift-python27/5b491d9/ : FAILURE in 6m 19s\n- gate-swift-tox-func http://logs.openstack.org/43/199043/2/check/gate-swift-tox-func/2c6c07d/ : SUCCESS in 5m 40s (non-voting)\n- gate-swift-python34 http://logs.openstack.org/43/199043/2/check/gate-swift-python34/f11c809/ : FAILURE in 3m 09s (non-voting)\n- gate-tempest-dsvm-full http://logs.openstack.org/43/199043/2/check/gate-tempest-dsvm-full/302de98/ : SUCCESS in 40m 51s\n- gate-grenade-dsvm http://logs.openstack.org/43/199043/2/check/gate-grenade-dsvm/69f6938/ : SUCCESS in 42m 58s\n- gate-swift-dsvm-functional http://logs.openstack.org/43/199043/2/check/gate-swift-dsvm-functional/34d40b0/ : SUCCESS in 26m 31s","accounts_in_message":[],"_revision_number":2},{"id":"b1aa536a93575bbd2d74d9cc57b455f752b4fd21","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2015-08-04 08:44:52.000000000","message":"Patch Set 2:\n\nBuild succeeded \n\n* cluster-swift-ssbench https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/647/ssbench : SUCCESS\n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/2005/ : SUCCESS\n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/50/ : SUCCESS","accounts_in_message":[],"_revision_number":2},{"id":"bce5bd0068e6450ccf5ba633b93614ca30f47016","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-08-04 09:04:28.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"7fa5005e973865bb87cf30abe426c49ed5bfb5ab","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-04 10:07:04.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-pep8 http://logs.openstack.org/43/199043/3/check/gate-swift-pep8/3ae1ce5/ : SUCCESS in 2m 06s\n- gate-swift-docs http://docs-draft.openstack.org/43/199043/3/check/gate-swift-docs/09d3c72//doc/build/html/ : SUCCESS in 4m 40s\n- gate-swift-python27 http://logs.openstack.org/43/199043/3/check/gate-swift-python27/6f3c2ec/ : SUCCESS in 5m 50s\n- gate-swift-tox-func http://logs.openstack.org/43/199043/3/check/gate-swift-tox-func/84c012e/ : SUCCESS in 6m 28s (non-voting)\n- gate-swift-python34 http://logs.openstack.org/43/199043/3/check/gate-swift-python34/52640c0/ : FAILURE in 3m 12s (non-voting)\n- gate-tempest-dsvm-full http://logs.openstack.org/43/199043/3/check/gate-tempest-dsvm-full/66f84aa/ : SUCCESS in 50m 56s\n- gate-grenade-dsvm http://logs.openstack.org/43/199043/3/check/gate-grenade-dsvm/cdfb8e1/ : SUCCESS in 48m 15s\n- gate-swift-dsvm-functional http://logs.openstack.org/43/199043/3/check/gate-swift-dsvm-functional/b429863/ : SUCCESS in 34m 23s","accounts_in_message":[],"_revision_number":3},{"id":"2f3d049eef2dc8a64b45679303371cdd8c2a62f5","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2015-08-04 11:45:24.000000000","message":"Patch Set 3:\n\nBuild succeeded \n\n* cluster-swift-ssbench https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/651/ssbench : SUCCESS\n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/2009/ : SUCCESS\n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/54/ : SUCCESS","accounts_in_message":[],"_revision_number":3},{"id":"d17637dc65669c43d882cdc5f556a34a35fed2d4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-10 17:38:04.000000000","message":"Patch Set 3: Verified-1\n\nMerge Failed.\n\nThis change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.","accounts_in_message":[],"_revision_number":3},{"id":"0e86ac49f55580c440c66cae9119bd3890b533c9","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-08-12 19:00:52.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"4272b0b58ca4b4a3d891e08a903952298fde2ffb","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-12 19:58:37.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-pep8 http://logs.openstack.org/43/199043/4/check/gate-swift-pep8/da2303b/ : SUCCESS in 1m 52s\n- gate-swift-docs http://docs-draft.openstack.org/43/199043/4/check/gate-swift-docs/e382356//doc/build/html/ : SUCCESS in 3m 14s\n- gate-swift-python27 http://logs.openstack.org/43/199043/4/check/gate-swift-python27/805251c/ : SUCCESS in 5m 05s\n- gate-swift-tox-func http://logs.openstack.org/43/199043/4/check/gate-swift-tox-func/81f9112/ : SUCCESS in 6m 15s (non-voting)\n- gate-swift-python34 http://logs.openstack.org/43/199043/4/check/gate-swift-python34/19379b6/ : FAILURE in 3m 17s (non-voting)\n- gate-tempest-dsvm-full http://logs.openstack.org/43/199043/4/check/gate-tempest-dsvm-full/bcf97f0/ : SUCCESS in 57m 30s\n- gate-grenade-dsvm http://logs.openstack.org/43/199043/4/check/gate-grenade-dsvm/054b287/ : SUCCESS in 46m 39s\n- gate-swift-dsvm-functional http://logs.openstack.org/43/199043/4/check/gate-swift-dsvm-functional/66e871f/ : SUCCESS in 27m 05s","accounts_in_message":[],"_revision_number":4},{"id":"cf566f71536435250fd0815aa0679452d2643949","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2015-08-12 21:15:40.000000000","message":"Patch Set 4:\n\nBuild succeeded \n\n* cluster-swift-ssbench https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/762/ssbench : SUCCESS\n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/2120/ : SUCCESS\n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/165/ : SUCCESS","accounts_in_message":[],"_revision_number":4},{"id":"2eb881a792f1b88fc54725e3e23587726e8b0908","author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"date":"2015-08-23 17:50:01.000000000","message":"Patch Set 4: Code-Review+1\n\nKota- are the last few patch sets just rebases and are you planning anything else on this?  Am doing perf testing in Phx this week pushing the cluster hard and get a ton of these messages.  running with your latest patch set looks good though (but I haven\u0027t reviewed yet)","accounts_in_message":[],"_revision_number":4},{"id":"3feb87f6e30ad3670fbbf946663d1a0172b61131","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2015-08-25 13:58:18.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"d4358cb73d38474cdff91a4db2e98d7fb21875c6","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2015-08-25 13:59:05.000000000","message":"Patch Set 4:\n\n(3 comments)","accounts_in_message":[],"_revision_number":4},{"id":"cbcd45af9206604e03dbf090b05d2b35e4a489ac","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2015-08-25 14:04:07.000000000","message":"Patch Set 5: Code-Review+2\n\nI fixed up one of the tests to read the object body so that it would trigger the warning if the fix regressed. Hope that was ok. Also fixed couple of minor typos.\n\nFor anyone else reviewing:\n\n- _get_response_parts_iter is a generator. When it is exhausted then its close method is called under the hood, which raises the GeneratorExit.\n\n- the GeneratorExit handler was logging the client disconnect warning\n\n- But if the backend parts iter had raised StopIteration then backend has been fully read so the client disconnect warning was bogus. If I understand it, GeneratorExit should be raised at some point during a normal GET.","accounts_in_message":[],"_revision_number":5},{"id":"dfba2065bcecda3715d9cd0b5ea1dfb494ad2dad","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2015-08-25 15:07:10.000000000","message":"Patch Set 5:\n\nBuild succeeded \n\n* cluster-swift-ssbench https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/930/ssbench : SUCCESS\n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/2288/ : SUCCESS\n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/333/ : SUCCESS","accounts_in_message":[],"_revision_number":5},{"id":"f59f0998e47458ab9ace6acd636caa927db2d999","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-25 15:49:36.000000000","message":"Patch Set 5: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-swift-pep8 http://logs.openstack.org/43/199043/5/check/gate-swift-pep8/d0bbda6/ : FAILURE in 2m 08s\n- gate-swift-docs http://docs-draft.openstack.org/43/199043/5/check/gate-swift-docs/50102fb//doc/build/html/ : SUCCESS in 3m 07s\n- gate-swift-python27 http://logs.openstack.org/43/199043/5/check/gate-swift-python27/432ffa6/ : SUCCESS in 4m 17s\n- gate-swift-tox-func http://logs.openstack.org/43/199043/5/check/gate-swift-tox-func/1aa79e3/ : SUCCESS in 5m 28s (non-voting)\n- gate-swift-python34 http://logs.openstack.org/43/199043/5/check/gate-swift-python34/41e58b8/ : FAILURE in 3m 06s (non-voting)\n- gate-tempest-dsvm-full http://logs.openstack.org/43/199043/5/check/gate-tempest-dsvm-full/a500907/ : SUCCESS in 43m 24s\n- gate-grenade-dsvm http://logs.openstack.org/43/199043/5/check/gate-grenade-dsvm/ef5601a/ : SUCCESS in 53m 18s\n- gate-swift-dsvm-functional http://logs.openstack.org/43/199043/5/check/gate-swift-dsvm-functional/42f21e9/ : SUCCESS in 30m 05s","accounts_in_message":[],"_revision_number":5},{"id":"68eccb991724400eafa3957f53cd1d14f034c1bc","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-08-26 00:34:49.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"4ca36511ca02c28bdb7aa910f1c5cd593523dd5a","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-08-26 00:37:10.000000000","message":"Patch Set 6:\n\n@Alistair\n\nThanks for fixing unit issues. I changed the resp.body reference into assertions because pep8 fails for unused variable \"_body\".","accounts_in_message":[],"_revision_number":6},{"id":"95298f3e45df781b26038c82783122020cd4ffe7","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2015-08-26 01:17:59.000000000","message":"Patch Set 6:\n\nBuild succeeded \n\n* cluster-swift-ssbench https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/937/ssbench : SUCCESS\n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/2295/ : SUCCESS\n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/340/ : SUCCESS","accounts_in_message":[],"_revision_number":6},{"id":"365e2d3dffc69646dd3a4d357e73e957f3b01e80","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-26 01:30:41.000000000","message":"Patch Set 6: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-swift-pep8 http://logs.openstack.org/43/199043/6/check/gate-swift-pep8/1796388/ : SUCCESS in 2m 02s\n- gate-swift-docs http://docs-draft.openstack.org/43/199043/6/check/gate-swift-docs/d5f9924//doc/build/html/ : SUCCESS in 3m 32s\n- gate-swift-python27 http://logs.openstack.org/43/199043/6/check/gate-swift-python27/3bbe5a1/ : FAILURE in 4m 11s\n- gate-swift-tox-func http://logs.openstack.org/43/199043/6/check/gate-swift-tox-func/7a53a7c/ : SUCCESS in 5m 13s (non-voting)\n- gate-swift-python34 http://logs.openstack.org/43/199043/6/check/gate-swift-python34/d581220/ : FAILURE in 3m 07s (non-voting)\n- gate-tempest-dsvm-full http://logs.openstack.org/43/199043/6/check/gate-tempest-dsvm-full/18c1a3f/ : SUCCESS in 47m 04s\n- gate-grenade-dsvm http://logs.openstack.org/43/199043/6/check/gate-grenade-dsvm/346271d/ : SUCCESS in 50m 26s\n- gate-swift-dsvm-functional http://logs.openstack.org/43/199043/6/check/gate-swift-dsvm-functional/c65317f/ : SUCCESS in 31m 22s","accounts_in_message":[],"_revision_number":6},{"id":"fa161597b2c2547cf6cf42e787a733ee22e46f17","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-08-26 01:55:44.000000000","message":"Patch Set 6:\n\nrecheck","accounts_in_message":[],"_revision_number":6},{"id":"c5b2251fea8d29d629a3d94ba92c0cf20ccceeec","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-26 02:52:30.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-swift-pep8 http://logs.openstack.org/43/199043/6/check/gate-swift-pep8/42666aa/ : SUCCESS in 1m 56s\n- gate-swift-docs http://docs-draft.openstack.org/43/199043/6/check/gate-swift-docs/2ac4e26//doc/build/html/ : SUCCESS in 3m 48s\n- gate-swift-python27 http://logs.openstack.org/43/199043/6/check/gate-swift-python27/4b72133/ : SUCCESS in 4m 09s\n- gate-swift-tox-func http://logs.openstack.org/43/199043/6/check/gate-swift-tox-func/98a9d49/ : SUCCESS in 5m 33s (non-voting)\n- gate-swift-python34 http://logs.openstack.org/43/199043/6/check/gate-swift-python34/37315ab/ : FAILURE in 3m 51s (non-voting)\n- gate-tempest-dsvm-full http://logs.openstack.org/43/199043/6/check/gate-tempest-dsvm-full/dc914d5/ : SUCCESS in 56m 12s\n- gate-grenade-dsvm http://logs.openstack.org/43/199043/6/check/gate-grenade-dsvm/21e713d/ : SUCCESS in 56m 37s\n- gate-swift-dsvm-functional http://logs.openstack.org/43/199043/6/check/gate-swift-dsvm-functional/064558d/ : SUCCESS in 32m 20s","accounts_in_message":[],"_revision_number":6},{"id":"96f670c13a1221f207a33ea6c2dff250c9c7f44e","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2015-08-26 03:13:31.000000000","message":"Patch Set 6:\n\n(1 comment)\n\nwhy is disconnect logged twice?","accounts_in_message":[],"_revision_number":6},{"id":"9c742ed9e88634e622965fe378fe4218a8cdb107","author":{"_account_id":13052,"name":"SwiftStack Cluster CI","email":"openstack-ci@swiftstack.com","username":"swiftstack-cluster-ci","tags":["SERVICE_USER"]},"date":"2015-08-26 03:28:48.000000000","message":"Patch Set 6:\n\nBuild succeeded \n\n* cluster-swift-tox-func https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/2297/ : SUCCESS\n\n* cluster-swift-ssbench https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/939/ssbench : SUCCESS\n\n* cluster-swift-tox-func-ec https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/199043/342/ : SUCCESS","accounts_in_message":[],"_revision_number":6},{"id":"7b560189599d789b0c46ead7229708e48b60982c","author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"date":"2015-08-26 03:56:27.000000000","message":"Patch Set 6:\n\n(1 comment)\n\n@Clay\n\nI think, it\u0027s correct behavior because we have 2 generators in the response in EC case. One is for GetOrHeadHandler for actual response, the other is for backend ResumingGetter.\n\nIf actually client disconnect before reading body, these 2 generators will log \"Client Disconnected\". I have an idea [1] to suppress it if we need. Ether is fine to me to merge [1] into this or not. Please let me know that if you want do so.","accounts_in_message":[],"_revision_number":6},{"id":"911ebb56bc23881fc6c2b1b85caf42789db62a1b","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2015-08-26 16:55:38.000000000","message":"Patch Set 6: Code-Review+2\n\n(1 comment)\n\n@Kota sorry I broke it :(","accounts_in_message":[],"_revision_number":6},{"id":"164e74ccd80af369622eb93a50979ae2fca9dc3f","author":{"_account_id":7479,"name":"paul luse","email":"paul.e.luse@intel.com","username":"peluse"},"date":"2015-08-31 02:46:00.000000000","message":"Patch Set 6: Code-Review+2 Workflow+1\n\nmakes sense","accounts_in_message":[],"_revision_number":6},{"id":"f6619e58353adb83df33bbc3fadb58d39cb17065","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-31 02:46:06.000000000","message":"Patch Set 6: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":6},{"id":"0cdcbfcff2acf0558d2927e30032158945193cd0","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-31 12:05:08.000000000","message":"Patch Set 6: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-swift-docs http://docs-draft.openstack.org/43/199043/6/gate/gate-swift-docs/1802742//doc/build/html/ : SUCCESS in 2m 33s\n- gate-swift-pep8 http://logs.openstack.org/43/199043/6/gate/gate-swift-pep8/0e1a36d/ : SUCCESS in 1m 40s\n- gate-swift-python27 http://logs.openstack.org/43/199043/6/gate/gate-swift-python27/ff6e7ab/ : SUCCESS in 4m 02s\n- gate-tempest-dsvm-full http://logs.openstack.org/43/199043/6/gate/gate-tempest-dsvm-full/a8f61c0/ : SUCCESS in 41m 47s\n- gate-grenade-dsvm http://logs.openstack.org/43/199043/6/gate/gate-grenade-dsvm/6f474b2/ : SUCCESS in 41m 25s\n- gate-swift-dsvm-functional http://logs.openstack.org/43/199043/6/gate/gate-swift-dsvm-functional/bcbdcd5/ : SUCCESS in 27m 13s","accounts_in_message":[],"_revision_number":6},{"id":"36f0e9f1ffcf810d09f8f7052a7beeb38f1d2b9d","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-08-31 12:05:12.000000000","message":"Change has been successfully merged into the git repository.","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"17efa343c605d0361b3f423696babbab3f3d972d","revisions":{"3d7a552511b79521c4be589138ff532c5eadd872":{"kind":"REWORK","_number":1,"created":"2015-07-07 10:27:58.000000000","uploader":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"ref":"refs/changes/43/199043/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/43/199043/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/43/199043/1"}}},"commit":{"parents":[{"commit":"74455ad74c6b021a19de291aa2c5130d691d1e40","subject":"Merge \"Correcting minor grammatical errors\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/74455ad74c6b021a19de291aa2c5130d691d1e40"}]}],"author":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-07-06 20:21:40.000000000","tz":-420},"committer":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-07-06 20:34:30.000000000","tz":-420},"subject":"Fix ECAppIter close backend stream correctly","message":"Fix ECAppIter close backend stream correctly\n\nIn EC case, When GET object requested, proxy-server always makes a log\nline \"Client disconnected on read\" even though the request succeeded.\n\nThat is because ECAppIter class doesn\u0027t maintain a bunch of backend\nstream when closing the app_iter. It will cause unfortunately\nGeneratorExit on backend stream ResumingGetter.\n\nThis patch will fix that ECAppIter calls next() for each backend\napp_iter at closing to enable to raise StopIteration correctly.\nUsing next() instead of something like as for-loop (draining whole bodies),\nswift will be able to show \"Client disconnected on read\" when the backend\ndisconnected unexpectedly.\n\nChange-Id: I77af9807816bea1444d66534a17e2a210bcf09f8\nCloses-Bug: #1472201\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3d7a552511b79521c4be589138ff532c5eadd872"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3d7a552511b79521c4be589138ff532c5eadd872"}]},"branch":"refs/heads/master"},"a0df85197ccee162b9dc0f2d4ddc38a96ca10022":{"kind":"REWORK","_number":2,"created":"2015-08-04 07:55:53.000000000","uploader":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"ref":"refs/changes/43/199043/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/43/199043/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/43/199043/2"}}},"commit":{"parents":[{"commit":"8d06f56c1fac23bca463d3a93353da6b50ad5bed","subject":"Fix typo of \u0027receive\u0027","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8d06f56c1fac23bca463d3a93353da6b50ad5bed"}]}],"author":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-07-06 20:21:40.000000000","tz":-420},"committer":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-08-04 07:52:25.000000000","tz":-420},"subject":"Fix EC GET backend stream iteration state","message":"Fix EC GET backend stream iteration state\n\nIn EC case, When GET object requested, proxy-server always makes a log\nline \"Client disconnected on read\" even though the request succeeded.\n\nThat is because ECAppIter class doesn\u0027t maintain a bunch of backend\nstream when closing the app_iter. It will cause unfortunately\nGeneratorExit on backend stream ResumingGetter.\n\nThis patch fixes to set non_client_disconnected to propergate the state\nto the backend streams when the range iteration stopped successful.\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n\nChange-Id: I77af9807816bea1444d66534a17e2a210bcf09f8\nCloses-Bug: #1472201\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a0df85197ccee162b9dc0f2d4ddc38a96ca10022"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/a0df85197ccee162b9dc0f2d4ddc38a96ca10022"}]},"branch":"refs/heads/master"},"3dcc1374c9a76324f89306126c89b1aa63aacf8a":{"kind":"REWORK","_number":3,"created":"2015-08-04 09:04:28.000000000","uploader":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"ref":"refs/changes/43/199043/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/43/199043/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/43/199043/3"}}},"commit":{"parents":[{"commit":"8d06f56c1fac23bca463d3a93353da6b50ad5bed","subject":"Fix typo of \u0027receive\u0027","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/8d06f56c1fac23bca463d3a93353da6b50ad5bed"}]}],"author":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-07-06 20:21:40.000000000","tz":-420},"committer":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-08-04 09:04:15.000000000","tz":-420},"subject":"Fix EC GET backend stream iteration state","message":"Fix EC GET backend stream iteration state\n\nIn EC case, When GET object requested, proxy-server always makes a log\nline \"Client disconnected on read\" even though the request succeeded.\n\nThat is because ECAppIter class doesn\u0027t maintain a bunch of backend\nstream when closing the app_iter. It will cause unfortunately\nGeneratorExit on backend stream ResumingGetter.\n\nThis patch fixes to set non_client_disconnected to propergate the state\nto the backend streams when the range iteration stopped successful.\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n\nChange-Id: I77af9807816bea1444d66534a17e2a210bcf09f8\nCloses-Bug: #1472201\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3dcc1374c9a76324f89306126c89b1aa63aacf8a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/3dcc1374c9a76324f89306126c89b1aa63aacf8a"}]},"branch":"refs/heads/master"},"58170adbf79bc2b9ca900d1f77b52e6f3159699c":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2015-08-12 19:00:52.000000000","uploader":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"ref":"refs/changes/43/199043/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/43/199043/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/43/199043/4"}}},"commit":{"parents":[{"commit":"37469babac9840b49433ccd97eca0c1c874657f7","subject":"Merge \"Test that get_hashes ignores only removed hash dir\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/37469babac9840b49433ccd97eca0c1c874657f7"}]}],"author":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-07-06 20:21:40.000000000","tz":-420},"committer":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-08-12 19:00:36.000000000","tz":-420},"subject":"Fix EC GET backend stream iteration state","message":"Fix EC GET backend stream iteration state\n\nIn EC case, When GET object requested, proxy-server always makes a log\nline \"Client disconnected on read\" even though the request succeeded.\n\nThat is because ECAppIter class doesn\u0027t maintain a bunch of backend\nstream when closing the app_iter. It will cause unfortunately\nGeneratorExit on backend stream ResumingGetter.\n\nThis patch fixes to set non_client_disconnected to propergate the state\nto the backend streams when the range iteration stopped successful.\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n\nChange-Id: I77af9807816bea1444d66534a17e2a210bcf09f8\nCloses-Bug: #1472201\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/58170adbf79bc2b9ca900d1f77b52e6f3159699c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/58170adbf79bc2b9ca900d1f77b52e6f3159699c"}]},"branch":"refs/heads/master"},"dbdb88f8792cf3f1a4bb5951ac1642926aaa21d9":{"kind":"REWORK","_number":5,"created":"2015-08-25 13:58:18.000000000","uploader":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"ref":"refs/changes/43/199043/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/43/199043/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/43/199043/5"}}},"commit":{"parents":[{"commit":"37469babac9840b49433ccd97eca0c1c874657f7","subject":"Merge \"Test that get_hashes ignores only removed hash dir\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/37469babac9840b49433ccd97eca0c1c874657f7"}]}],"author":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-07-06 20:21:40.000000000","tz":-420},"committer":{"name":"Alistair Coles","email":"alistair.coles@hp.com","date":"2015-08-25 13:57:23.000000000","tz":60},"subject":"Fix EC GET backend stream iteration state","message":"Fix EC GET backend stream iteration state\n\nIn EC case, When GET object requested, proxy-server always makes a log\nline \"Client disconnected on read\" even though the request succeeded.\n\nThat is because ECAppIter class doesn\u0027t maintain a bunch of backend\nstream when closing the app_iter. It will cause unfortunately\nGeneratorExit on backend stream ResumingGetter.\n\nThis patch fixes to set non_client_disconnected to propagate the state\nto the backend streams when the range iteration stopped successful.\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n\nChange-Id: I77af9807816bea1444d66534a17e2a210bcf09f8\nCloses-Bug: #1472201\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dbdb88f8792cf3f1a4bb5951ac1642926aaa21d9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/dbdb88f8792cf3f1a4bb5951ac1642926aaa21d9"}]},"branch":"refs/heads/master"},"17efa343c605d0361b3f423696babbab3f3d972d":{"kind":"REWORK","_number":6,"created":"2015-08-26 00:34:49.000000000","uploader":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"ref":"refs/changes/43/199043/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/43/199043/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/43/199043/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/43/199043/6"}}},"commit":{"parents":[{"commit":"37469babac9840b49433ccd97eca0c1c874657f7","subject":"Merge \"Test that get_hashes ignores only removed hash dir\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/37469babac9840b49433ccd97eca0c1c874657f7"}]}],"author":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-07-06 20:21:40.000000000","tz":-420},"committer":{"name":"Kota Tsuyuzaki","email":"tsuyuzaki.kota@lab.ntt.co.jp","date":"2015-08-25 15:03:34.000000000","tz":-420},"subject":"Fix EC GET backend stream iteration state","message":"Fix EC GET backend stream iteration state\n\nIn EC case, When GET object requested, proxy-server always makes a log\nline \"Client disconnected on read\" even though the request succeeded.\n\nThat is because ECAppIter class doesn\u0027t maintain a bunch of backend\nstream when closing the app_iter. It will cause unfortunately\nGeneratorExit on backend stream ResumingGetter.\n\nThis patch fixes to set non_client_disconnected to propagate the state\nto the backend streams when the range iteration stopped successful.\n\nCo-Authored-By: Clay Gerrard \u003cclay.gerrard@gmail.com\u003e\n\nChange-Id: I77af9807816bea1444d66534a17e2a210bcf09f8\nCloses-Bug: #1472201\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/17efa343c605d0361b3f423696babbab3f3d972d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/17efa343c605d0361b3f423696babbab3f3d972d"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
