)]}'
{"id":"openstack%2Fpython-swiftclient~265417","triplet_id":"openstack%2Fpython-swiftclient~master~Ibacd75d5ee46135d62388786903c895fda8ed3ba","project":"openstack/python-swiftclient","branch":"master","topic":"data-retry","hashtags":[],"change_id":"Ibacd75d5ee46135d62388786903c895fda8ed3ba","subject":"_RetryBody doesn\u0027t need to take explicit etag/content-length","status":"MERGED","created":"2016-01-08 19:32:53.000000000","updated":"2016-02-18 23:40:51.000000000","submitted":"2016-02-18 23:40:51.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e81928c67caa23c490f9173d136c231858a6d552","_number":265417,"virtual_id_number":265417,"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":0,"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":2,"date":"2016-02-18 23:40:51.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}],"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":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"all":[{"value":2,"date":"2016-02-18 16:49:32.000000000","_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2016-01-12 18:23:05.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":2,"date":"2016-01-13 19:53:31.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}],"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":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"all":[{"value":1,"date":"2016-02-18 16:49:32.000000000","_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"value":0,"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"}],"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":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-01-12 18:23:05.000000000","updated_by":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"reviewer":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"state":"REVIEWER"},{"updated":"2016-01-13 19:53:31.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-02-18 16:49:32.000000000","updated_by":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"reviewer":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"state":"REVIEWER"},{"updated":"2016-02-18 23:40:51.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"564b0f0fbf0baaf2c17df2fa9576a10fb1f6d370","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-01-08 19:32:53.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2dee45ea8bb983025bd7edb4ac28aa546472cfef","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-01-08 19:44:06.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"6d3d1579e1f9efdf1badf4df53bc6fd40fc1a345","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-08 21:08:14.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/17/265417/2/check/gate-python-swiftclient-pep8/7cce64e/ : SUCCESS in 52s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/17/265417/2/check/gate-python-swiftclient-docs/91ada6b//doc/build/html/ : SUCCESS in 58s\n- gate-python-swiftclient-python27 http://logs.openstack.org/17/265417/2/check/gate-python-swiftclient-python27/8f8489f/ : SUCCESS in 1m 20s\n- gate-python-swiftclient-python34 http://logs.openstack.org/17/265417/2/check/gate-python-swiftclient-python34/6b21bc0/ : SUCCESS in 1m 49s\n- gate-python-swiftclient-pypy http://logs.openstack.org/17/265417/2/check/gate-python-swiftclient-pypy/79f8bd9/ : SUCCESS in 1m 26s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/17/265417/2/check/gate-tempest-dsvm-neutron-src-python-swiftclient/576c0a0/ : SUCCESS in 1h 00m 34s\n- gate-swift-dsvm-functional http://logs.openstack.org/17/265417/2/check/gate-swift-dsvm-functional/c1adb52/ : SUCCESS in 31m 14s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/17/265417/2/check/gate-swiftclient-dsvm-functional/1396d5a/ : SUCCESS in 25m 57s","accounts_in_message":[],"_revision_number":2},{"id":"9076e202ce6652342e8a2f278a18a5b005212bd7","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2016-01-11 10:48:59.000000000","message":"Patch Set 2: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"d7f5c8ab653fdb318b85a62ebfefb67a72e4d964","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-01-11 23:38:30.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"aa743355710d59db2799aeb030e1c243b1472556","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-01-12 00:50:34.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/17/265417/3/check/gate-python-swiftclient-pep8/5ac2baa/ : SUCCESS in 55s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/17/265417/3/check/gate-python-swiftclient-docs/79bf4ee//doc/build/html/ : SUCCESS in 1m 00s\n- gate-python-swiftclient-python27 http://logs.openstack.org/17/265417/3/check/gate-python-swiftclient-python27/347f66e/ : SUCCESS in 50s\n- gate-python-swiftclient-python34 http://logs.openstack.org/17/265417/3/check/gate-python-swiftclient-python34/448fe86/ : SUCCESS in 2m 17s\n- gate-python-swiftclient-pypy http://logs.openstack.org/17/265417/3/check/gate-python-swiftclient-pypy/fdf6a70/ : SUCCESS in 1m 22s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/17/265417/3/check/gate-tempest-dsvm-neutron-src-python-swiftclient/e7e430e/ : SUCCESS in 1h 11m 55s\n- gate-swift-dsvm-functional http://logs.openstack.org/17/265417/3/check/gate-swift-dsvm-functional/351fa07/ : SUCCESS in 31m 43s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/17/265417/3/check/gate-swiftclient-dsvm-functional/a792e16/ : SUCCESS in 21m 48s","accounts_in_message":[],"_revision_number":3},{"id":"aa9c113c729bcdcc60876826d9892d8de0695fba","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2016-01-12 13:24:59.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"1082402796bdb4ae6c338a947f6719c3ead0cf58","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-01-12 18:02:26.000000000","message":"Patch Set 3:\n\nStuart,\n\nCorrect -- under some circumstances, DLO *won\u0027t* include a content-length. DLO relies on container listings to get the list of segments, but there is a limit to how many objects will be returned in a container listing. If all of the segments fit in a single listing [1], then DLO will include a content-length and reasonably useful etag [2]; otherwise, it falls back to a chunked transfer. Generally, though, this only happens when someone does something dumb; either\n\n* the container_listing_limit [3] was set too low by the operator (the default is 10,000; when I\u0027m testing things like this I\u0027ll make it 5 or 10), or\n\n* the segment size during the upload was set too low by the user (if you try to use 1KB chunks, you\u0027re going to have a bad time; glance_store\u0027s 200MB default is quite reasonable).\n\nOut of curiosity, what does Glance typically see for image sizes?\n\n[1] https://github.com/openstack/swift/blob/2.5.0/swift/common/middleware/dlo.py#L135-L136\n\n[2] https://github.com/openstack/swift/blob/2.5.0/swift/common/middleware/dlo.py#L190-L201\n\n[3] https://github.com/openstack/swift/blob/2.5.0/etc/swift.conf-sample#L146-L149","accounts_in_message":[],"_revision_number":3},{"id":"7d9de5f4ae23d788af07ee4f0e8847a9bd8cf282","author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"date":"2016-01-12 18:23:05.000000000","message":"Patch Set 3: Code-Review+1\n\n(1 comment)\n\nTim,\n\nThanks for your info.\n\nGlance supports an operator configurable maximum image size. So it should\nbe possible to prevent going over the container_listing_limit.  This can\nensure retry is always triggered when appropriate, so I think we\u0027re fine.\n(I might add a note about this in Glance at some point.)\n\n\u003e Out of curiosity, what does Glance typically see for image sizes?\n\nSmall would be ~200MB (CoreOS or something like that). Large would be\n~80GB (Windows sometimes). Typical size? How long is a piece of string\n:-) Maybe 500 MB - 1 GB for a fresh Ubuntu image. But if you fill up the\nfilesystem and take a snapshot that can result in something (much) larger.\n\n(Assuming that Swift always returns an Etag) I think this change looks good.","accounts_in_message":[],"_revision_number":3},{"id":"640da4ce322857de03ebd5b3de5a27e85af4cf1f","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-01-12 18:35:21.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"01b7cf329390800f98c996810eda415c31c07bc6","author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"date":"2016-01-13 19:53:31.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"245ee4dfaab7b619c8ff40d0d90ff4b19cfff9c0","author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"date":"2016-02-18 16:49:32.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\nNice fix","accounts_in_message":[],"_revision_number":3},{"id":"0cd035494ea0efdceb24940e683bde8e21784b55","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-18 16:49:38.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"1881e683872dd20b972a30b26261d5067fc3df64","date":"2016-02-18 23:40:51.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":3},{"id":"aae5ab63820e54b86b69e1ae3767eeda415e9190","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-18 23:40:51.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/17/265417/3/gate/gate-python-swiftclient-docs/1f20988//doc/build/html/ : SUCCESS in 50s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/17/265417/3/gate/gate-python-swiftclient-pep8/efe8f33/ : SUCCESS in 38s\n- gate-python-swiftclient-python27 http://logs.openstack.org/17/265417/3/gate/gate-python-swiftclient-python27/1603ccd/ : SUCCESS in 44s\n- gate-python-swiftclient-python34 http://logs.openstack.org/17/265417/3/gate/gate-python-swiftclient-python34/7455098/ : SUCCESS in 2m 13s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/17/265417/3/gate/gate-tempest-dsvm-neutron-src-python-swiftclient/0d6bf71/ : SUCCESS in 54m 35s\n- gate-swift-dsvm-functional http://logs.openstack.org/17/265417/3/gate/gate-swift-dsvm-functional/22a2690/ : SUCCESS in 20m 41s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/17/265417/3/gate/gate-swiftclient-dsvm-functional/11ac96d/ : SUCCESS in 21m 07s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"5050027610cb4c8f20c85b7c60c1cc7f2c44121c","revisions":{"93bd1a0094227f1e5850382ca73ebc04cd0c4e52":{"kind":"REWORK","_number":1,"created":"2016-01-08 19:32:53.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/17/265417/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/17/265417/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/1"}}},"commit":{"parents":[{"commit":"4af623bcf171a63240849b84b9359a4f74471455","subject":"Retry download of object body","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/4af623bcf171a63240849b84b9359a4f74471455"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-01-08 19:31:32.000000000","tz":-480},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-01-08 19:31:32.000000000","tz":-480},"subject":"_RetryBody doesn\u0027t need to track etag/content-length","message":"_RetryBody doesn\u0027t need to track etag/content-length\n\nChange-Id: Ibacd75d5ee46135d62388786903c895fda8ed3ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/93bd1a0094227f1e5850382ca73ebc04cd0c4e52"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/93bd1a0094227f1e5850382ca73ebc04cd0c4e52"}]},"branch":"refs/heads/master"},"7172c7177e39723488da277606523da2e31bc89c":{"kind":"REWORK","_number":2,"created":"2016-01-08 19:44:06.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/17/265417/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/17/265417/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/2"}}},"commit":{"parents":[{"commit":"4af623bcf171a63240849b84b9359a4f74471455","subject":"Retry download of object body","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/4af623bcf171a63240849b84b9359a4f74471455"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-01-08 19:31:32.000000000","tz":-480},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-01-08 19:43:25.000000000","tz":-480},"subject":"_RetryBody doesn\u0027t need to track etag/content-length","message":"_RetryBody doesn\u0027t need to track etag/content-length\n\nChange-Id: Ibacd75d5ee46135d62388786903c895fda8ed3ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/7172c7177e39723488da277606523da2e31bc89c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/7172c7177e39723488da277606523da2e31bc89c"}]},"branch":"refs/heads/master"},"5050027610cb4c8f20c85b7c60c1cc7f2c44121c":{"kind":"REWORK","_number":3,"created":"2016-01-11 23:38:30.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/17/265417/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/17/265417/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/17/265417/3"}}},"commit":{"parents":[{"commit":"4af623bcf171a63240849b84b9359a4f74471455","subject":"Retry download of object body","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/4af623bcf171a63240849b84b9359a4f74471455"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-01-08 19:31:32.000000000","tz":-480},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-01-11 23:36:37.000000000","tz":-480},"subject":"_RetryBody doesn\u0027t need to take explicit etag/content-length","message":"_RetryBody doesn\u0027t need to take explicit etag/content-length\n\nAlso, don\u0027t try to do int(None) for chunk-encoded responses (like DLOs\nthat are longer than a single container listing).\n\nChange-Id: Ibacd75d5ee46135d62388786903c895fda8ed3ba\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/5050027610cb4c8f20c85b7c60c1cc7f2c44121c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/5050027610cb4c8f20c85b7c60c1cc7f2c44121c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
