)]}'
{"id":"openstack%2Fpython-swiftclient~303647","triplet_id":"openstack%2Fpython-swiftclient~master~I3158b608746ebd17f6f4181be51d024d0f7de90c","project":"openstack/python-swiftclient","branch":"master","topic":"bug/1487791","hashtags":[],"change_id":"I3158b608746ebd17f6f4181be51d024d0f7de90c","subject":"Guard against post-as-copy flattening large objects","status":"ABANDONED","created":"2016-04-08 22:37:27.000000000","updated":"2018-01-22 19:23:45.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"487e0c99709abee011bbfc609d18dacdcf978d87","_number":303647,"virtual_id_number":303647,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":1,"date":"2016-04-19 06:19:50.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"_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"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-04-19 06:19:50.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"5373ebe9ac744ff2975d680d7296ec30d8ee495c","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-04-08 22:37:27.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0b8ec30eb9701d3c8c83c6f35ac58edce02b123b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-08 23:27:24.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/47/303647/1/check/gate-python-swiftclient-docs/69a5fb7//doc/build/html/ : SUCCESS in 3m 12s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/47/303647/1/check/gate-python-swiftclient-pep8/e2f87bc/ : SUCCESS in 1m 58s\n- gate-python-swiftclient-python27 http://logs.openstack.org/47/303647/1/check/gate-python-swiftclient-python27/46ca6ca/ : SUCCESS in 2m 53s\n- gate-python-swiftclient-python34 http://logs.openstack.org/47/303647/1/check/gate-python-swiftclient-python34/eb86cd3/ : SUCCESS in 3m 05s\n- gate-python-swiftclient-pypy http://logs.openstack.org/47/303647/1/check/gate-python-swiftclient-pypy/455abe5/ : SUCCESS in 3m 46s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/47/303647/1/check/gate-tempest-dsvm-neutron-src-python-swiftclient/e280c78/ : SUCCESS in 49m 00s\n- gate-swift-dsvm-functional http://logs.openstack.org/47/303647/1/check/gate-swift-dsvm-functional/4d58da2/ : SUCCESS in 23m 20s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/47/303647/1/check/gate-swiftclient-dsvm-functional/b0d85d1/ : SUCCESS in 22m 52s","accounts_in_message":[],"_revision_number":1},{"id":"7d0b118a1421439d3d42fe941b7d247ff96102ae","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-04-08 23:45:46.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"a8f8e3810aad93404a0dfda37a8e1f58394a06e2","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-09 00:39:03.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/47/303647/2/check/gate-python-swiftclient-docs/57a4ded//doc/build/html/ : SUCCESS in 1m 35s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/47/303647/2/check/gate-python-swiftclient-pep8/9b9aa58/ : SUCCESS in 1m 25s\n- gate-python-swiftclient-python27 http://logs.openstack.org/47/303647/2/check/gate-python-swiftclient-python27/95dc832/ : SUCCESS in 1m 45s\n- gate-python-swiftclient-python34 http://logs.openstack.org/47/303647/2/check/gate-python-swiftclient-python34/055fceb/ : SUCCESS in 2m 03s\n- gate-python-swiftclient-pypy http://logs.openstack.org/47/303647/2/check/gate-python-swiftclient-pypy/efe81d4/ : SUCCESS in 1m 57s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/47/303647/2/check/gate-tempest-dsvm-neutron-src-python-swiftclient/ee93048/ : SUCCESS in 52m 13s\n- gate-swift-dsvm-functional http://logs.openstack.org/47/303647/2/check/gate-swift-dsvm-functional/38a33fc/ : SUCCESS in 13m 49s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/47/303647/2/check/gate-swiftclient-dsvm-functional/8f5a926/ : SUCCESS in 10m 32s","accounts_in_message":[],"_revision_number":2},{"id":"3bbf0697ab89d04ca295ea3a5ee1629678cd4d6d","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-04-18 17:55:19.000000000","message":"Patch Set 3: Published edit on patch set 2","accounts_in_message":[],"_revision_number":3},{"id":"159ca50dfe82b2d732e14a82c231945b02943f29","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-04-19 06:19:50.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/47/303647/3/check/gate-python-swiftclient-docs/b318664//doc/build/html/ : SUCCESS in 1m 54s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/47/303647/3/check/gate-python-swiftclient-pep8/92a0746/ : SUCCESS in 2m 04s\n- gate-python-swiftclient-python27 http://logs.openstack.org/47/303647/3/check/gate-python-swiftclient-python27/2990c43/ : SUCCESS in 1m 49s\n- gate-python-swiftclient-python34 http://logs.openstack.org/47/303647/3/check/gate-python-swiftclient-python34/78cfbb7/ : SUCCESS in 2m 42s\n- gate-python-swiftclient-pypy http://logs.openstack.org/47/303647/3/check/gate-python-swiftclient-pypy/3298d3b/ : SUCCESS in 2m 25s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/47/303647/3/check/gate-tempest-dsvm-neutron-src-python-swiftclient/f51166e/ : SUCCESS in 52m 16s\n- gate-swift-dsvm-functional http://logs.openstack.org/47/303647/3/check/gate-swift-dsvm-functional/52c597d/ : SUCCESS in 18m 15s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/47/303647/3/check/gate-swiftclient-dsvm-functional/610c60b/ : SUCCESS in 15m 22s","accounts_in_message":[],"_revision_number":3},{"id":"0ee76fc5a88138a84acce6ad71c9c17f7ea4a843","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2018-01-22 19:23:45.000000000","message":"Abandoned\n\nPost-as-copy was deprecated in 2.13.0 and removed in 2.16.0 -- I think the lack of progress here demonstrates that people aren\u0027t generally concerned about this problem.","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"bd04522ef2a6d3a0962d2c5897478c20d2f1c0eb","revisions":{"e300b1521e6bb1d215e4e97fb25012608a803ec6":{"kind":"REWORK","_number":1,"created":"2016-04-08 22:37:27.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/47/303647/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/47/303647/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/1"}}},"commit":{"parents":[{"commit":"015903e383a27318918ee7827574ecb120110ae2","subject":"Merge \"Port from optparse to argparse\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/015903e383a27318918ee7827574ecb120110ae2"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-04-08 21:46:59.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-04-08 22:35:19.000000000","tz":-420},"subject":"Guard against post-as-copy flattening large objects","message":"Guard against post-as-copy flattening large objects\n\nPreviously, if a user POSTed to a large object and the cluster had\nPOST-as-COPY enabled, the entire contents of the large object would be\ncopied, rather than having the manifest copied in place. This had\nseveral negative effects; such a POST:\n\n * was slower than necessary;\n * left orphaned segments, doubling storage utilization; and\n * would fail with Entity Too Large errors if the complete object was\n   larger than max_file_size.\n\nNow, POSTing to an object through the CLI or SwiftService API will\nautomatically include a ?multipart-manifest\u003dget query parameter to\nprevent this. Additionally, Connection API users may use the new\nquery_string argument to put_object to include an arbitrary query\nstring.\n\nNOTE: pre-1.13.1 clusters do not automatically preserve a DLO\u0027s\nX-Object-Manifest header when POSTing/COPYing.\n\nChange-Id: I3158b608746ebd17f6f4181be51d024d0f7de90c\nRelated-Change: I1073af9fee6e34ebdfad7b1a89aeb05e4523a151\nRelated-Bug: 1487791\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/e300b1521e6bb1d215e4e97fb25012608a803ec6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/e300b1521e6bb1d215e4e97fb25012608a803ec6"}]},"branch":"refs/heads/master"},"1b6998420b5b09bfe549569e91fc897cb2aea813":{"kind":"REWORK","_number":2,"created":"2016-04-08 23:45:46.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/47/303647/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/47/303647/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/2"}}},"commit":{"parents":[{"commit":"015903e383a27318918ee7827574ecb120110ae2","subject":"Merge \"Port from optparse to argparse\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/015903e383a27318918ee7827574ecb120110ae2"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-04-08 21:46:59.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-04-08 23:42:30.000000000","tz":-420},"subject":"Guard against post-as-copy flattening large objects","message":"Guard against post-as-copy flattening large objects\n\nPreviously, if a user POSTed to a large object and the cluster had\nPOST-as-COPY enabled, the entire contents of the large object would be\ncopied, rather than having the manifest copied in place. This had\nseveral negative effects; such a POST:\n\n * was slower than necessary;\n * left orphaned segments, doubling storage utilization; and\n * would fail with Entity Too Large errors if the complete object was\n   larger than max_file_size.\n\nNow, when POSTing to an object through the CLI or SwiftService API,\nautomatically include a ?multipart-manifest\u003dget query parameter to\nprevent this. This will only be included if the target cluster is\nrunning swift 1.13.1 or later; earlier versions would not automatically\npreserve X-Object-Manifest headers during POSTs.\n\nAdditionally, Connection API users may use the new query_string argument\nto put_object to include an arbitrary query string, regardless of\ncluster version.\n\nChange-Id: I3158b608746ebd17f6f4181be51d024d0f7de90c\nRelated-Change: I1073af9fee6e34ebdfad7b1a89aeb05e4523a151\nRelated-Bug: 1487791\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/1b6998420b5b09bfe549569e91fc897cb2aea813"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/1b6998420b5b09bfe549569e91fc897cb2aea813"}]},"branch":"refs/heads/master"},"bd04522ef2a6d3a0962d2c5897478c20d2f1c0eb":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2016-04-18 17:55:19.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/47/303647/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/47/303647/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/47/303647/3"}}},"commit":{"parents":[{"commit":"015903e383a27318918ee7827574ecb120110ae2","subject":"Merge \"Port from optparse to argparse\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/015903e383a27318918ee7827574ecb120110ae2"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-04-08 21:46:59.000000000","tz":-420},"committer":{"name":"Tim Burke","email":"tim@swiftstack.com","date":"2016-04-18 17:53:37.000000000","tz":0},"subject":"Guard against post-as-copy flattening large objects","message":"Guard against post-as-copy flattening large objects\n\nPreviously, if a user POSTed to a large object and the cluster had\nPOST-as-COPY enabled, the entire contents of the large object would be\ncopied, rather than having the manifest copied in place. This had\nseveral negative effects; such a POST:\n\n * was slower than necessary;\n * left orphaned segments, doubling storage utilization; and\n * would fail with Entity Too Large errors if the complete object was\n   larger than max_file_size.\n\nNow, when POSTing to an object through the CLI or SwiftService API,\nautomatically include a ?multipart-manifest\u003dget query parameter to\nprevent this. This will only be included if the target cluster is\nrunning swift 1.13.1 or later; earlier versions would not automatically\npreserve X-Object-Manifest headers during POSTs.\n\nAdditionally, Connection API users may use the new query_string argument\nto post_object to include an arbitrary query string, regardless of\ncluster version.\n\nChange-Id: I3158b608746ebd17f6f4181be51d024d0f7de90c\nRelated-Change: I1073af9fee6e34ebdfad7b1a89aeb05e4523a151\nRelated-Bug: 1487791\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/bd04522ef2a6d3a0962d2c5897478c20d2f1c0eb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/bd04522ef2a6d3a0962d2c5897478c20d2f1c0eb"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
