)]}'
{"id":"openstack%2Fpython-swiftclient~262607","triplet_id":"openstack%2Fpython-swiftclient~master~I19579ed7a0181ac3f488433e7c1839f7f7a040b8","project":"openstack/python-swiftclient","branch":"master","hashtags":[],"change_id":"I19579ed7a0181ac3f488433e7c1839f7f7a040b8","subject":"Wrap raw iterators to ensure we send entire contents to server","status":"MERGED","created":"2015-12-30 20:05:03.000000000","updated":"2016-01-06 00:06:04.000000000","submitted":"2016-01-06 00:06:04.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"8c155cbb626c381ed831179ac380c1ea43f46fcd","_number":262607,"virtual_id_number":262607,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2016-01-06 00:06:04.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"}],"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":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2016-01-05 18:35:17.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":2,"date":"2015-12-30 22:55:49.000000000","_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"}],"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":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2016-01-05 18:35:17.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"value":0,"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"}],"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":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2015-12-30 22:55:49.000000000","updated_by":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"reviewer":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"state":"REVIEWER"},{"updated":"2016-01-05 18:35:17.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":"2016-01-06 00:06:04.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"2d8692b44ac7bafb7625d2c9ce5d77b0631ff958","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2015-12-30 20:05:03.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"e4e13e7d3409e6748751d543edb00e712a8b1c70","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2015-12-30 21:04:27.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/07/262607/1/check/gate-python-swiftclient-pep8/05b57c5/ : SUCCESS in 44s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/07/262607/1/check/gate-python-swiftclient-docs/7deb40c//doc/build/html/ : SUCCESS in 51s\n- gate-python-swiftclient-python27 http://logs.openstack.org/07/262607/1/check/gate-python-swiftclient-python27/7269301/ : SUCCESS in 57s\n- gate-python-swiftclient-python34 http://logs.openstack.org/07/262607/1/check/gate-python-swiftclient-python34/f60b117/ : SUCCESS in 1m 58s\n- gate-python-swiftclient-pypy http://logs.openstack.org/07/262607/1/check/gate-python-swiftclient-pypy/6047642/ : SUCCESS in 1m 21s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/07/262607/1/check/gate-tempest-dsvm-neutron-src-python-swiftclient/7cebae3/ : SUCCESS in 58m 21s\n- gate-swift-dsvm-functional http://logs.openstack.org/07/262607/1/check/gate-swift-dsvm-functional/f9a767d/ : SUCCESS in 28m 16s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/07/262607/1/check/gate-swiftclient-dsvm-functional/7a63a00/ : SUCCESS in 24m 28s","accounts_in_message":[],"_revision_number":1},{"id":"8884188db6a47ae5ef87116bffa27d60180e353a","author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"date":"2015-12-30 22:55:49.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"05d94d678043924b862bd12d35c027c7868370c1","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2016-01-05 18:35:17.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\nLGTM\n\nI wrote a quick functional test for this, here:\n https://review.openstack.org/263838","accounts_in_message":[],"_revision_number":1},{"id":"822aafb19cb896cb39e91c091455e9ed5c6e1f82","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-05 18:37:24.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"b70d4ef7308ac40b7b0278a8d97037b105c31f8a","date":"2016-01-06 00:06:04.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":1},{"id":"8c155cbb626c381ed831179ac380c1ea43f46fcd","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-06 00:06:04.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/07/262607/1/gate/gate-python-swiftclient-docs/3dee04d//doc/build/html/ : SUCCESS in 55s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/07/262607/1/gate/gate-python-swiftclient-pep8/597f9d0/ : SUCCESS in 46s\n- gate-python-swiftclient-python27 http://logs.openstack.org/07/262607/1/gate/gate-python-swiftclient-python27/f2f8b4e/ : SUCCESS in 52s\n- gate-python-swiftclient-python34 http://logs.openstack.org/07/262607/1/gate/gate-python-swiftclient-python34/6e8438f/ : SUCCESS in 1m 53s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/07/262607/1/gate/gate-tempest-dsvm-neutron-src-python-swiftclient/85d1bae/ : SUCCESS in 59m 46s\n- gate-swift-dsvm-functional http://logs.openstack.org/07/262607/1/gate/gate-swift-dsvm-functional/b4ba8fd/ : SUCCESS in 27m 27s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/07/262607/1/gate/gate-swiftclient-dsvm-functional/0052499/ : SUCCESS in 24m 06s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"39b1a31d8a187534f54e32e9aec2cb2bb839a390","revisions":{"39b1a31d8a187534f54e32e9aec2cb2bb839a390":{"kind":"REWORK","_number":1,"created":"2015-12-30 20:05:03.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/07/262607/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/07/262607/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/07/262607/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/07/262607/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/07/262607/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/07/262607/1"}}},"commit":{"parents":[{"commit":"ab65eef4ce4096410bdfec9ea7d8780f800321df","subject":"Wrong usage of \"an\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ab65eef4ce4096410bdfec9ea7d8780f800321df"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2015-12-30 19:15:02.000000000","tz":-480},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2015-12-30 19:56:36.000000000","tz":-480},"subject":"Wrap raw iterators to ensure we send entire contents to server","message":"Wrap raw iterators to ensure we send entire contents to server\n\nCurrently, if you attempt to stream an upload from an iterator, as in\n\n    def data():\n        yield \u0027foo\u0027\n        yield \u0027\u0027\n        yield \u0027bar\u0027\n    conn.put_object(\u0027c\u0027, \u0027o\u0027, data())\n\n... requests will faithfully emit a zero-length chunk, ending the\ntransfer. Swift will then close the connection, possibly (if Connection:\nkeep-alive was set) after attempting to parse the next chunk as a new\nrequest.\n\nNow, Swift will receive all of the bytes from the iterable, and any\nzero-byte chunks will be ignored.\n\nThis will be fixed in requests [1], but not until an eventual 3.0.0\nrelease.\n\n[1] https://github.com/kennethreitz/requests/pull/2631\n\nChange-Id: I19579ed7a0181ac3f488433e7c1839f7f7a040b8\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/39b1a31d8a187534f54e32e9aec2cb2bb839a390"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/39b1a31d8a187534f54e32e9aec2cb2bb839a390"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
