)]}'
{"id":"openstack%2Fpython-openstackclient~417892","triplet_id":"openstack%2Fpython-openstackclient~master~I2223e5897346acd2f2c1fae638d1193cff833c19","project":"openstack/python-openstackclient","branch":"master","hashtags":[],"change_id":"I2223e5897346acd2f2c1fae638d1193cff833c19","subject":"Make \u0027object save\u0027 fast again","status":"MERGED","created":"2017-01-09 14:15:37.000000000","updated":"2017-01-09 22:12:26.000000000","submitted":"2017-01-09 22:12:26.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"16963cdffa36ad48cc6ed833e29b8878017d6e39","_number":417892,"virtual_id_number":417892,"owner":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":2,"date":"2017-01-09 22:12:26.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"}],"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":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"all":[{"value":2,"date":"2017-01-09 16:20:10.000000000","_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2017-01-09 18:13:16.000000000","_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"}],"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":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"all":[{"value":0,"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2017-01-09 18:13:16.000000000","_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"}],"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":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-01-09 16:20:10.000000000","updated_by":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"reviewer":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"state":"REVIEWER"},{"updated":"2017-01-09 18:13:16.000000000","updated_by":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"reviewer":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"state":"REVIEWER"},{"updated":"2017-01-09 22:12:26.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"2cd47769021b1afcbe1de2693c37777bc443c3fe","author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"date":"2017-01-09 14:15:37.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b37dc1da91ac4ab2627ddae27c97bc5b532a7a19","author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"date":"2017-01-09 14:19:32.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"cf51b5e326d6cacf501965ea6f01649ff329b4ca","author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"date":"2017-01-09 14:28:15.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"a7589ba4001caf45ae800dc02cbe6b2ea89bcb73","author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"date":"2017-01-09 14:34:44.000000000","message":"Abandoned\n\nFixed in I93b6fff73368c4f58bdebf8566c4948b50980cee","accounts_in_message":[],"_revision_number":3},{"id":"93eae0c4f326a597ceeac2c7776f19f2944ab06f","author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"date":"2017-01-09 14:42:59.000000000","message":"Restored\n\nThe first pb (chunk size) is still present.","accounts_in_message":[],"_revision_number":3},{"id":"cc4165890e0448aa36cd44cfff82108b274d9ba4","author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"date":"2017-01-09 14:43:23.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"31f89523cfd395ba9cb2d50754a5fae290490dd8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-01-09 16:13:19.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-docs-ubuntu-xenial http://docs-draft.openstack.org/92/417892/4/check/gate-python-openstackclient-docs-ubuntu-xenial/8b2f2bf//doc/build/html/ : SUCCESS in 4m 29s\n- gate-python-openstackclient-pep8-ubuntu-xenial http://logs.openstack.org/92/417892/4/check/gate-python-openstackclient-pep8-ubuntu-xenial/c6f16ec/ : SUCCESS in 5m 55s\n- gate-python-openstackclient-python27-ubuntu-xenial http://logs.openstack.org/92/417892/4/check/gate-python-openstackclient-python27-ubuntu-xenial/5fc9744/ : SUCCESS in 3m 33s\n- gate-python-openstackclient-python35 http://logs.openstack.org/92/417892/4/check/gate-python-openstackclient-python35/b4b9542/ : SUCCESS in 3m 28s\n- gate-python-openstackclient-releasenotes http://docs-draft.openstack.org/92/417892/4/check/gate-python-openstackclient-releasenotes/6c83b0b//releasenotes/build/html/ : SUCCESS in 2m 54s\n- gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial http://logs.openstack.org/92/417892/4/check/gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial/10f3a70/ : SUCCESS in 55m 55s\n- check-osc-plugins http://logs.openstack.org/92/417892/4/check/check-osc-plugins/002a990/ : SUCCESS in 4m 26s (non-voting)\n- gate-osc-dsvm-functional-ubuntu-xenial http://logs.openstack.org/92/417892/4/check/gate-osc-dsvm-functional-ubuntu-xenial/3c9d216/ : SUCCESS in 31m 17s\n- gate-tripleo-ci-centos-7-nonha-multinode-nv http://logs.openstack.org/92/417892/4/check/gate-tripleo-ci-centos-7-nonha-multinode-nv/373a90f/ : SUCCESS in 1h 12m 04s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"060e2f12668a3b18e9edd2c430327c924d4a45b2","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2017-01-09 16:19:36.000000000","message":"Patch Set 5: Published edit on patch set 4","accounts_in_message":[],"_revision_number":5},{"id":"ea321454eccaeca97f2d5c446fda35eae19e13eb","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2017-01-09 16:20:10.000000000","message":"Patch Set 5: Code-Review+2\n\nthanks! I\u0027ll abandon https://review.openstack.org/#/c/417490/","accounts_in_message":[],"_revision_number":5},{"id":"443de8556461b2d9991bdd28ccb1cf9dc5ea28cb","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-01-09 17:17:39.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-docs-ubuntu-xenial http://docs-draft.openstack.org/92/417892/5/check/gate-python-openstackclient-docs-ubuntu-xenial/916b3d6//doc/build/html/ : SUCCESS in 4m 16s\n- gate-python-openstackclient-pep8-ubuntu-xenial http://logs.openstack.org/92/417892/5/check/gate-python-openstackclient-pep8-ubuntu-xenial/acbea77/ : SUCCESS in 4m 11s\n- gate-python-openstackclient-python27-ubuntu-xenial http://logs.openstack.org/92/417892/5/check/gate-python-openstackclient-python27-ubuntu-xenial/c9fcdb2/ : SUCCESS in 3m 39s\n- gate-python-openstackclient-python35 http://logs.openstack.org/92/417892/5/check/gate-python-openstackclient-python35/c86e217/ : SUCCESS in 4m 07s\n- gate-python-openstackclient-releasenotes http://docs-draft.openstack.org/92/417892/5/check/gate-python-openstackclient-releasenotes/d8fed9f//releasenotes/build/html/ : SUCCESS in 7m 15s\n- gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial http://logs.openstack.org/92/417892/5/check/gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial/4a0efaa/ : SUCCESS in 55m 33s\n- check-osc-plugins http://logs.openstack.org/92/417892/5/check/check-osc-plugins/a643621/ : SUCCESS in 6m 30s (non-voting)\n- gate-osc-dsvm-functional-ubuntu-xenial http://logs.openstack.org/92/417892/5/check/gate-osc-dsvm-functional-ubuntu-xenial/df72764/ : SUCCESS in 47m 35s\n- gate-tripleo-ci-centos-7-nonha-multinode-nv http://logs.openstack.org/92/417892/5/check/gate-tripleo-ci-centos-7-nonha-multinode-nv/f11c62f/ : SUCCESS in 53m 56s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"ecf81b5d5552c38aff4b69ae98c1ed7b61ad7b3c","author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"date":"2017-01-09 18:13:16.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"9485448d480f34547b30f69f7bd089ab7f6c0747","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-01-09 18:13:28.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":5},{"id":"6ed2a562f8afc1a85bb65343fa5688f7001828e2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-01-09 19:38:36.000000000","message":"Patch Set 5: Verified-2\n\nBuild failed (gate pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-python-openstackclient-docs-ubuntu-xenial http://docs-draft.openstack.org/92/417892/5/gate/gate-python-openstackclient-docs-ubuntu-xenial/6cb48f0//doc/build/html/ : SUCCESS in 4m 32s\n- gate-python-openstackclient-pep8-ubuntu-xenial http://logs.openstack.org/92/417892/5/gate/gate-python-openstackclient-pep8-ubuntu-xenial/f9b873f/ : SUCCESS in 3m 19s\n- gate-python-openstackclient-python27-ubuntu-xenial http://logs.openstack.org/92/417892/5/gate/gate-python-openstackclient-python27-ubuntu-xenial/c9e7feb/ : SUCCESS in 4m 32s\n- gate-python-openstackclient-python35 http://logs.openstack.org/92/417892/5/gate/gate-python-openstackclient-python35/341146d/ : SUCCESS in 2m 46s\n- gate-python-openstackclient-releasenotes http://docs-draft.openstack.org/92/417892/5/gate/gate-python-openstackclient-releasenotes/1054ba3//releasenotes/build/html/ : SUCCESS in 2m 45s\n- gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial http://logs.openstack.org/92/417892/5/gate/gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial/a8057f7/ : SUCCESS in 1h 24m 40s\n- gate-osc-dsvm-functional-ubuntu-xenial http://logs.openstack.org/92/417892/5/gate/gate-osc-dsvm-functional-ubuntu-xenial/955f0c9/ : FAILURE in 30m 12s","accounts_in_message":[],"_revision_number":5},{"id":"394a18e163b7681c928ebe087df36b85e4185bd9","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2017-01-09 19:41:32.000000000","message":"Patch Set 5:\n\nrecheck No such QoS spec volume_qos_list","accounts_in_message":[],"_revision_number":5},{"id":"ea88f5f779abc2fd1a58ea8425293f6585b24d9b","author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"date":"2017-01-09 19:41:53.000000000","message":"Patch Set 5:\n\nthat\u0027s a new failure... lets see if it was a race condition and not functionality related","accounts_in_message":[],"_revision_number":5},{"id":"55d91a4335443f759991bb8867e8041f31cd15b3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-01-09 21:11:29.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-openstackclient-docs-ubuntu-xenial http://docs-draft.openstack.org/92/417892/5/check/gate-python-openstackclient-docs-ubuntu-xenial/e15dc3a//doc/build/html/ : SUCCESS in 3m 38s\n- gate-python-openstackclient-pep8-ubuntu-xenial http://logs.openstack.org/92/417892/5/check/gate-python-openstackclient-pep8-ubuntu-xenial/1dee888/ : SUCCESS in 4m 55s\n- gate-python-openstackclient-python27-ubuntu-xenial http://logs.openstack.org/92/417892/5/check/gate-python-openstackclient-python27-ubuntu-xenial/d0c100e/ : SUCCESS in 4m 27s\n- gate-python-openstackclient-python35 http://logs.openstack.org/92/417892/5/check/gate-python-openstackclient-python35/1af6b97/ : SUCCESS in 3m 16s\n- gate-python-openstackclient-releasenotes http://docs-draft.openstack.org/92/417892/5/check/gate-python-openstackclient-releasenotes/63b42a0//releasenotes/build/html/ : SUCCESS in 2m 55s\n- gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial http://logs.openstack.org/92/417892/5/check/gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial/b11fdb7/ : SUCCESS in 1h 27m 17s\n- check-osc-plugins http://logs.openstack.org/92/417892/5/check/check-osc-plugins/e03135a/ : SUCCESS in 6m 13s (non-voting)\n- gate-osc-dsvm-functional-ubuntu-xenial http://logs.openstack.org/92/417892/5/check/gate-osc-dsvm-functional-ubuntu-xenial/c9c3100/ : SUCCESS in 30m 04s\n- gate-tripleo-ci-centos-7-nonha-multinode-nv http://logs.openstack.org/92/417892/5/check/gate-tripleo-ci-centos-7-nonha-multinode-nv/2060f0a/ : SUCCESS in 51m 54s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"b36005335822a271681924d0c5dd1572e579fb45","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-01-09 21:11:39.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":5},{"id":"afd8c09a28d93cf92b964d842ca5e45fd0c8bfe8","date":"2017-01-09 22:12:26.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":5},{"id":"16963cdffa36ad48cc6ed833e29b8878017d6e39","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-01-09 22:12:26.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-openstackclient-docs-ubuntu-xenial http://docs-draft.openstack.org/92/417892/5/gate/gate-python-openstackclient-docs-ubuntu-xenial/cceb4dd//doc/build/html/ : SUCCESS in 3m 10s\n- gate-python-openstackclient-pep8-ubuntu-xenial http://logs.openstack.org/92/417892/5/gate/gate-python-openstackclient-pep8-ubuntu-xenial/f76a693/ : SUCCESS in 3m 16s\n- gate-python-openstackclient-python27-ubuntu-xenial http://logs.openstack.org/92/417892/5/gate/gate-python-openstackclient-python27-ubuntu-xenial/0bc838a/ : SUCCESS in 2m 54s\n- gate-python-openstackclient-python35 http://logs.openstack.org/92/417892/5/gate/gate-python-openstackclient-python35/07c73d5/ : SUCCESS in 2m 58s\n- gate-python-openstackclient-releasenotes http://docs-draft.openstack.org/92/417892/5/gate/gate-python-openstackclient-releasenotes/876a471//releasenotes/build/html/ : SUCCESS in 2m 47s\n- gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial http://logs.openstack.org/92/417892/5/gate/gate-tempest-dsvm-neutron-src-python-openstackclient-ubuntu-xenial/30922b0/ : SUCCESS in 59m 18s\n- gate-osc-dsvm-functional-ubuntu-xenial http://logs.openstack.org/92/417892/5/gate/gate-osc-dsvm-functional-ubuntu-xenial/9de01f7/ : SUCCESS in 30m 26s","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"1cdc1319d6cbfc4087551e5bf0a9875c016eca1c","revisions":{"e58bb6e08a6b06ec1b12f7231add1e8dc18765e7":{"kind":"REWORK","_number":1,"created":"2017-01-09 14:15:37.000000000","uploader":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"ref":"refs/changes/92/417892/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/92/417892/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/1"}}},"commit":{"parents":[{"commit":"1957690754961aed8bf9c7894e3ab140a9f2c0b9","subject":"Merge \"Functional tests - flavor\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/1957690754961aed8bf9c7894e3ab140a9f2c0b9"}]}],"author":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 13:51:21.000000000","tz":60},"committer":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 14:15:26.000000000","tz":60},"subject":"Make \u0027object save\u0027 fast again","message":"Make \u0027object save\u0027 fast again\n\n\u0027openstack object save\u0027 is critically slow to download big objects.\n\nTwo problems:\n* While we \u0027stream\u0027 (chunked download) the data, the default chunks_size\nis 1 byte [1], which is terribly inefficient.\n* KestoneAuth1.session.request() wants to log the body (i.e the data) of\nthe HTTP response ([2), which calls `response.text` at which point\npython-requests tries to detect the encoding using `chardet` which burns\nthe CPU for no reason, because we know we have binary coding.\n\n[1] : http://docs.python-requests.org/en/master/api/#requests.Response.iter_content\n[2] : https://github.com/openstack/keystoneauth/blob/f3870431382204012d4ad1386e411f5cc14c9a58/keystoneauth1/session.py#L577\n\nChange-Id: I2223e5897346acd2f2c1fae638d1193cff833c19\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/e58bb6e08a6b06ec1b12f7231add1e8dc18765e7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/e58bb6e08a6b06ec1b12f7231add1e8dc18765e7"}]},"branch":"refs/heads/master"},"7cdb78b62d200a0abe71304b9c267323898b9405":{"kind":"REWORK","_number":2,"created":"2017-01-09 14:19:32.000000000","uploader":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"ref":"refs/changes/92/417892/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/92/417892/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/2"}}},"commit":{"parents":[{"commit":"1957690754961aed8bf9c7894e3ab140a9f2c0b9","subject":"Merge \"Functional tests - flavor\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/1957690754961aed8bf9c7894e3ab140a9f2c0b9"}]}],"author":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 13:51:21.000000000","tz":60},"committer":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 14:18:47.000000000","tz":60},"subject":"Make \u0027object save\u0027 fast again","message":"Make \u0027object save\u0027 fast again\n\n\u0027openstack object save\u0027 is critically slow to download big objects.\n\nTwo problems:\n* While we \u0027stream\u0027 (chunked download) the data, the default chunks_size\nis 1 byte [1], which is terribly inefficient.\n* KestoneAuth1.session.request() wants to log the body (i.e the data) of\nthe HTTP response ([2), which calls `response.text` at which point\npython-requests tries to detect the encoding using `chardet` which burns\nthe CPU for no reason, because we know we have binary coding.\n\n[1] : http://docs.python-requests.org/en/master/api/#requests.Response.iter_content\n[2] : https://github.com/openstack/keystoneauth/blob/f3870431382204012d4ad1386e411f5cc14c9a58/keystoneauth1/session.py#L577\n\nChange-Id: I2223e5897346acd2f2c1fae638d1193cff833c19\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/7cdb78b62d200a0abe71304b9c267323898b9405"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/7cdb78b62d200a0abe71304b9c267323898b9405"}]},"branch":"refs/heads/master"},"353d6c600e2eccbcf69371a1f2fda7b95737a8fc":{"kind":"REWORK","_number":3,"created":"2017-01-09 14:28:15.000000000","uploader":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"ref":"refs/changes/92/417892/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/92/417892/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/3"}}},"commit":{"parents":[{"commit":"1957690754961aed8bf9c7894e3ab140a9f2c0b9","subject":"Merge \"Functional tests - flavor\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/1957690754961aed8bf9c7894e3ab140a9f2c0b9"}]}],"author":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 13:51:21.000000000","tz":60},"committer":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 14:27:16.000000000","tz":60},"subject":"Make \u0027object save\u0027 fast again","message":"Make \u0027object save\u0027 fast again\n\n\u0027openstack object save\u0027 is critically slow to download big objects.\n\nTwo problems:\n* While we \u0027stream\u0027 (chunked download) the data, the default chunks_size\nis 1 byte [1], which is terribly inefficient.\n* KestoneAuth1.session.request() wants to log the body (i.e the data) of\nthe HTTP response ([2), which calls `response.text` at which point\npython-requests tries to detect the encoding using `chardet` which burns\nthe CPU for no reason, because we know we have binary coding.\n\n[1] : http://docs.python-requests.org/en/master/api/#requests.Response.iter_content\n[2] : https://github.com/openstack/keystoneauth/blob/f3870431382204012d4ad1386e411f5cc14c9a58/keystoneauth1/session.py#L577\n\nChange-Id: I2223e5897346acd2f2c1fae638d1193cff833c19\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/353d6c600e2eccbcf69371a1f2fda7b95737a8fc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/353d6c600e2eccbcf69371a1f2fda7b95737a8fc"}]},"branch":"refs/heads/master"},"f3a02114c35013643406f971647e81b37b7f7e61":{"kind":"REWORK","_number":4,"created":"2017-01-09 14:43:23.000000000","uploader":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"ref":"refs/changes/92/417892/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/92/417892/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/4"}}},"commit":{"parents":[{"commit":"1957690754961aed8bf9c7894e3ab140a9f2c0b9","subject":"Merge \"Functional tests - flavor\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/1957690754961aed8bf9c7894e3ab140a9f2c0b9"}]}],"author":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 14:40:59.000000000","tz":60},"committer":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 14:42:24.000000000","tz":60},"subject":"Make \u0027object save\u0027 fast again","message":"Make \u0027object save\u0027 fast again\n\n\u0027openstack object save\u0027 is critically slow to download big objects. While\nwe \u0027stream\u0027 (chunked download) the data, the default chunks_size\nis 1 byte [1], which is terribly inefficient.\n\n[1] : http://docs.python-requests.org/en/master/api/#requests.Response.iter_content\n\nChange-Id: I2223e5897346acd2f2c1fae638d1193cff833c19\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/f3a02114c35013643406f971647e81b37b7f7e61"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/f3a02114c35013643406f971647e81b37b7f7e61"}]},"branch":"refs/heads/master"},"1cdc1319d6cbfc4087551e5bf0a9875c016eca1c":{"kind":"REWORK","_number":5,"created":"2017-01-09 16:19:36.000000000","uploader":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"ref":"refs/changes/92/417892/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-openstackclient","ref":"refs/changes/92/417892/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-openstackclient refs/changes/92/417892/5"}}},"commit":{"parents":[{"commit":"1957690754961aed8bf9c7894e3ab140a9f2c0b9","subject":"Merge \"Functional tests - flavor\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/1957690754961aed8bf9c7894e3ab140a9f2c0b9"}]}],"author":{"name":"Jordan Pittier","email":"jordan.pittier@scality.com","date":"2017-01-09 14:40:59.000000000","tz":60},"committer":{"name":"Steve Martinelli","email":"s.martinelli@gmail.com","date":"2017-01-09 16:19:29.000000000","tz":0},"subject":"Make \u0027object save\u0027 fast again","message":"Make \u0027object save\u0027 fast again\n\n\u0027openstack object save\u0027 is critically slow to download big objects. While\nwe \u0027stream\u0027 (chunked download) the data, the default chunks_size\nis 1 byte [1], which is terribly inefficient.\n\n[1] : http://docs.python-requests.org/en/master/api/#requests.Response.iter_content\n\nCloses-Bug: 1654645\n\n\nChange-Id: I2223e5897346acd2f2c1fae638d1193cff833c19\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/1cdc1319d6cbfc4087551e5bf0a9875c016eca1c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-openstackclient/commit/1cdc1319d6cbfc4087551e5bf0a9875c016eca1c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
