)]}'
{"doc/admin-guide-cloud/source/objectstorage_large-objects.rst":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"f93e20f17c0ef06577e59ae4d05566908b7112d4","unresolved":false,"context_lines":[{"line_number":278,"context_line":"#. Upload Order"},{"line_number":279,"context_line":"     With static large objects, you must upload the"},{"line_number":280,"context_line":"     segment objects before you upload the manifest object."},{"line_number":281,"context_line":"     "},{"line_number":282,"context_line":"     With dynamic large objects, you can upload manifest and segment objects"},{"line_number":283,"context_line":"     in any order. In case a premature download of the manifest occurs, we"},{"line_number":284,"context_line":"     recommend users upload the manifest object after the segments. However,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7af24918_853181ef","line":281,"updated":"2016-03-01 12:42:57.000000000","message":"niceness check will fail","commit_id":"da962c7d54ad48fe5511de781f445b44c7cec5f5"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"50a4901928ea210343fedb434ffe8f1200bd5233","unresolved":false,"context_lines":[{"line_number":6,"context_line":"segments and concatenates them together in object listing order."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Object Storage has a limit on the size of a single uploaded object. By default this is"},{"line_number":9,"context_line":"5GB. However, the download size of a single object is virtually unlimited with"},{"line_number":10,"context_line":"the concept of segmentation. Segments of the larger object are uploaded and a"},{"line_number":11,"context_line":"special manifest file is created that, when downloaded, sends all the segments"},{"line_number":12,"context_line":"concatenated as a single object. This also offers much greater upload speed"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_18c39a39","line":9,"updated":"2016-03-03 01:13:55.000000000","message":"To line up with the \u00275 GB\u0027 on lines 18, 55, 57, and 158 switch to the version with a space (5 GB) or change the other entries to have no space (5GB). Also compare with the \u00271MB\u0027 and \u00272MB\u0027 entries on line 300 and 303 respectively.","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"febbc2aacd96f24c12e019e2949cfd254ed30974","unresolved":false,"context_lines":[{"line_number":6,"context_line":"segments and concatenates them together in object listing order."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Object Storage has a limit on the size of a single uploaded object. By default this is"},{"line_number":9,"context_line":"5GB. However, the download size of a single object is virtually unlimited with"},{"line_number":10,"context_line":"the concept of segmentation. Segments of the larger object are uploaded and a"},{"line_number":11,"context_line":"special manifest file is created that, when downloaded, sends all the segments"},{"line_number":12,"context_line":"concatenated as a single object. This also offers much greater upload speed"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_e00b61d4","line":9,"in_reply_to":"7af24918_18c39a39","updated":"2016-03-03 16:20:17.000000000","message":"Done :) thank you","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"50a4901928ea210343fedb434ffe8f1200bd5233","unresolved":false,"context_lines":[{"line_number":37,"context_line":"   result. The manifest object types are:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"   - **Static large objects**"},{"line_number":40,"context_line":"       The manifest object content is an ordered list of the names of"},{"line_number":41,"context_line":"       the segment objects in JSON format."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"   - **Dynamic large objects**"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_98cfaa28","line":40,"updated":"2016-03-03 01:13:55.000000000","message":"Reword the sentence to take out an \u0027of the\u0027 - \u0027The manifest object content is an ordered list of the segment object names in JSON format.\u0027","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"febbc2aacd96f24c12e019e2949cfd254ed30974","unresolved":false,"context_lines":[{"line_number":37,"context_line":"   result. The manifest object types are:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"   - **Static large objects**"},{"line_number":40,"context_line":"       The manifest object content is an ordered list of the names of"},{"line_number":41,"context_line":"       the segment objects in JSON format."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"   - **Dynamic large objects**"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_601f5108","line":40,"in_reply_to":"7af24918_98cfaa28","updated":"2016-03-03 16:20:17.000000000","message":"Done","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"50a4901928ea210343fedb434ffe8f1200bd5233","unresolved":false,"context_lines":[{"line_number":116,"context_line":"|"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"The ``Content-Length`` request header must contain the length of the"},{"line_number":119,"context_line":"json content—not the length of the segment objects. However, after the"},{"line_number":120,"context_line":"``PUT`` operation completes, the ``Content-Length`` metadata is set to"},{"line_number":121,"context_line":"the total length of all the object segments. A similar situation applies"},{"line_number":122,"context_line":"to the ``ETag``. If used in the ``PUT`` operation, it must contain the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_ab67aee7","line":119,"updated":"2016-03-03 01:13:55.000000000","message":"switch json to JSON here, and on line 123.","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"febbc2aacd96f24c12e019e2949cfd254ed30974","unresolved":false,"context_lines":[{"line_number":116,"context_line":"|"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"The ``Content-Length`` request header must contain the length of the"},{"line_number":119,"context_line":"json content—not the length of the segment objects. However, after the"},{"line_number":120,"context_line":"``PUT`` operation completes, the ``Content-Length`` metadata is set to"},{"line_number":121,"context_line":"the total length of all the object segments. A similar situation applies"},{"line_number":122,"context_line":"to the ``ETag``. If used in the ``PUT`` operation, it must contain the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_00d5ad1a","line":119,"in_reply_to":"7af24918_ab67aee7","updated":"2016-03-03 16:20:17.000000000","message":"Done","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":19779,"name":"Chason Chan","display_name":"chenxing","email":"chason.chan@foxmail.com","username":"chenxing"},"change_message_id":"679f874cc44d17aeb537888cea54f33b55cdee35","unresolved":false,"context_lines":[{"line_number":314,"context_line":"#. Manifest object metadata"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"     With static large objects, the manifest object has ``X-Static-Large-Object``"},{"line_number":317,"context_line":"     set to ``true``. You do not set this"},{"line_number":318,"context_line":"     metadata directly. Instead the system sets it when you ``PUT`` a static"},{"line_number":319,"context_line":"     manifest object."},{"line_number":320,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_1616bef0","line":317,"updated":"2016-03-03 06:55:49.000000000","message":"Is this sentence need a blank line?","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"febbc2aacd96f24c12e019e2949cfd254ed30974","unresolved":false,"context_lines":[{"line_number":314,"context_line":"#. Manifest object metadata"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"     With static large objects, the manifest object has ``X-Static-Large-Object``"},{"line_number":317,"context_line":"     set to ``true``. You do not set this"},{"line_number":318,"context_line":"     metadata directly. Instead the system sets it when you ``PUT`` a static"},{"line_number":319,"context_line":"     manifest object."},{"line_number":320,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_00bc8dda","line":317,"in_reply_to":"7af24918_1616bef0","updated":"2016-03-03 16:20:17.000000000","message":"Done","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"50a4901928ea210343fedb434ffe8f1200bd5233","unresolved":false,"context_lines":[{"line_number":327,"context_line":""},{"line_number":328,"context_line":"     The semantics are the same for both static and dynamic large objects."},{"line_number":329,"context_line":"     When copying large objects, the ``COPY`` operation does not create"},{"line_number":330,"context_line":"     a manifest object but a normal object with content same as what you would"},{"line_number":331,"context_line":"     get on a ``GET`` request to the original manifest object."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"     To copy the manifest object, you include the ``multipart-manifest\u003dget``"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_ab768ed4","line":330,"updated":"2016-03-03 01:13:55.000000000","message":"Change this sentence for clarity - break into two sentences, adjust the \u0027with content same as you would..\u0027, and change \u0027get\u0027 to \u0027receive\u0027 \n\n\u0027When copying large objects, the ``COPY`` operation does not create a manifest object. Instead, it creates a normal object with the same content that you would receive on a ``GET`` request to the original manifest object.","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"febbc2aacd96f24c12e019e2949cfd254ed30974","unresolved":false,"context_lines":[{"line_number":327,"context_line":""},{"line_number":328,"context_line":"     The semantics are the same for both static and dynamic large objects."},{"line_number":329,"context_line":"     When copying large objects, the ``COPY`` operation does not create"},{"line_number":330,"context_line":"     a manifest object but a normal object with content same as what you would"},{"line_number":331,"context_line":"     get on a ``GET`` request to the original manifest object."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"     To copy the manifest object, you include the ``multipart-manifest\u003dget``"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_60947142","line":330,"in_reply_to":"7af24918_ab768ed4","updated":"2016-03-03 16:20:17.000000000","message":"Done","commit_id":"bc8c0ee7a2c617b1829c2939b038cd6758664b03"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"314ab9d8c1c7ddd0d228e0407a3b1166bef5ca7a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Large Object Support"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"DLO support is a user specified filter that matches"},{"line_number":6,"context_line":"segments and concatenates them together in object listing order."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Object Storage has a limit on the size of a single uploaded object. By default this is"},{"line_number":9,"context_line":"5GB. However, the download size of a single object is virtually unlimited with"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7af24918_c892679f","line":6,"range":{"start_line":5,"start_character":0,"end_line":6,"end_character":64},"updated":"2016-03-05 22:18:03.000000000","message":"This looks like a cut and paste from somewhere...as is, it makes no sense","commit_id":"64e9c3cfbd835378c48e04035ffd8f1737de74c8"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"8b6f711fb73cdc2fb5f36ca9a8eea83055431746","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Object Storage has a limit on the size of a single uploaded object. By default this is"},{"line_number":6,"context_line":"5GB. However, the download size of a single object is virtually unlimited with"},{"line_number":7,"context_line":"the concept of segmentation. Segments of the larger object are uploaded and a"},{"line_number":8,"context_line":"special manifest file is created that, when downloaded, sends all the segments"},{"line_number":9,"context_line":"concatenated as a single object. This also offers much greater upload speed"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1af94dfe_6db518cc","line":6,"updated":"2016-03-16 03:53:54.000000000","message":"If you have something on discoverability, the per-object limit can be found with a query to /info","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"408bd6297bdac1da208d5d666d3ea3fde0871279","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Object Storage has a limit on the size of a single uploaded object. By default this is"},{"line_number":6,"context_line":"5GB. However, the download size of a single object is virtually unlimited with"},{"line_number":7,"context_line":"the concept of segmentation. Segments of the larger object are uploaded and a"},{"line_number":8,"context_line":"special manifest file is created that, when downloaded, sends all the segments"},{"line_number":9,"context_line":"concatenated as a single object. This also offers much greater upload speed"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_812cd9ac","line":6,"in_reply_to":"1af94dfe_6db518cc","updated":"2016-03-21 01:26:16.000000000","message":"Done","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"8b6f711fb73cdc2fb5f36ca9a8eea83055431746","unresolved":false,"context_lines":[{"line_number":43,"context_line":"       where ``{container}`` is the name of the container where the"},{"line_number":44,"context_line":"       segment objects are stored, and ``{prefix}`` is a string that all"},{"line_number":45,"context_line":"       segment objects have in common. The manifest object should have"},{"line_number":46,"context_line":"       no content. However, this is not enforced."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":".. note::"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1af94dfe_4d049c7d","line":46,"updated":"2016-03-16 03:53:54.000000000","message":"Something vaguely scary like \"the body of a dynamic large object manifest object is reserved for future use\" wouldn\u0027t be bad.","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"832d84571518ff09c60c6e500db042f2b4576d9d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"       where ``{container}`` is the name of the container where the"},{"line_number":44,"context_line":"       segment objects are stored, and ``{prefix}`` is a string that all"},{"line_number":45,"context_line":"       segment objects have in common. The manifest object should have"},{"line_number":46,"context_line":"       no content. However, this is not enforced."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":".. note::"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_c14ed195","line":46,"in_reply_to":"1af94dfe_4d049c7d","updated":"2016-03-21 01:17:33.000000000","message":"Are you referring to the \"however, this is not enforced\" statement here?","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"8b6f711fb73cdc2fb5f36ca9a8eea83055431746","unresolved":false,"context_lines":[{"line_number":51,"context_line":"   the new object is a normal, and not a segment, object. If the total size"},{"line_number":52,"context_line":"   of the source segment objects exceeds 5GB, the ``COPY`` request fails."},{"line_number":53,"context_line":"   However, you can make a duplicate of the manifest object and this new"},{"line_number":54,"context_line":"   object can be larger than 5GB."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Static large objects"},{"line_number":57,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1af94dfe_6d3a3838","line":54,"updated":"2016-03-16 03:53:54.000000000","message":"True today, but this should change, IIRC, with some current work that\u0027s ongoing but not yet landed","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"832d84571518ff09c60c6e500db042f2b4576d9d","unresolved":false,"context_lines":[{"line_number":51,"context_line":"   the new object is a normal, and not a segment, object. If the total size"},{"line_number":52,"context_line":"   of the source segment objects exceeds 5GB, the ``COPY`` request fails."},{"line_number":53,"context_line":"   However, you can make a duplicate of the manifest object and this new"},{"line_number":54,"context_line":"   object can be larger than 5GB."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Static large objects"},{"line_number":57,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_817e99ac","line":54,"in_reply_to":"1af94dfe_6d3a3838","updated":"2016-03-21 01:17:33.000000000","message":"Good to note :) I will keep an eye on this for future reference.","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"8b6f711fb73cdc2fb5f36ca9a8eea83055431746","unresolved":false,"context_lines":[{"line_number":81,"context_line":"   value must match the ``ETag`` of that object."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"-  ``size_bytes``. The size of the segment object. This value must match"},{"line_number":84,"context_line":"   the ``Content-Length`` of that object."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Example Static large object manifest list"},{"line_number":87,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1af94dfe_8d8344cc","line":84,"updated":"2016-03-16 03:53:54.000000000","message":"Note that the values of etag and size_bytes are optional. See the commit message on https://review.openstack.org/#/c/184479/","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"832d84571518ff09c60c6e500db042f2b4576d9d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"   value must match the ``ETag`` of that object."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"-  ``size_bytes``. The size of the segment object. This value must match"},{"line_number":84,"context_line":"   the ``Content-Length`` of that object."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Example Static large object manifest list"},{"line_number":87,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_2144ed72","line":84,"in_reply_to":"1af94dfe_8d8344cc","updated":"2016-03-21 01:17:33.000000000","message":"I will include a note that has this :) thank you","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"8b6f711fb73cdc2fb5f36ca9a8eea83055431746","unresolved":false,"context_lines":[{"line_number":190,"context_line":".. code::"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    PUT /{api_version}/{account}/{container}/{object} HTTP/1.1"},{"line_number":193,"context_line":"    Host: storage.clouddrive.com"},{"line_number":194,"context_line":"    X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb"},{"line_number":195,"context_line":"    ETag: 8a964ee2a5e88be344f36c22562a6486"},{"line_number":196,"context_line":"    Content-Length: 1"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1af94dfe_6d5fd872","line":193,"updated":"2016-03-16 03:53:54.000000000","message":"This is a Rackspace-owned domain. Any reason not to make it generic?","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"832d84571518ff09c60c6e500db042f2b4576d9d","unresolved":false,"context_lines":[{"line_number":190,"context_line":".. code::"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    PUT /{api_version}/{account}/{container}/{object} HTTP/1.1"},{"line_number":193,"context_line":"    Host: storage.clouddrive.com"},{"line_number":194,"context_line":"    X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb"},{"line_number":195,"context_line":"    ETag: 8a964ee2a5e88be344f36c22562a6486"},{"line_number":196,"context_line":"    Content-Length: 1"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_0149e98b","line":193,"in_reply_to":"1af94dfe_6d5fd872","updated":"2016-03-21 01:17:33.000000000","message":"This is the original content from swift dev docs. If you have any options you\u0027d prefer, please let me know.","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"8b6f711fb73cdc2fb5f36ca9a8eea83055431746","unresolved":false,"context_lines":[{"line_number":213,"context_line":".. code::"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    PUT /{api_version}/{account}/{container}/{object} HTTP/1.1"},{"line_number":216,"context_line":"    Host: storage.clouddrive.com"},{"line_number":217,"context_line":"    X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb"},{"line_number":218,"context_line":"    ETag: 8a964ee2a5e88be344f36c22562a6486"},{"line_number":219,"context_line":"    Content-Length: 1"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1af94dfe_cd542c56","line":216,"updated":"2016-03-16 03:53:54.000000000","message":"same","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"8b6f711fb73cdc2fb5f36ca9a8eea83055431746","unresolved":false,"context_lines":[{"line_number":232,"context_line":".. code::"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    PUT /{api_version}/{account}/{container}/{object} HTTP/1.1"},{"line_number":235,"context_line":"    Host: storage.clouddrive.com"},{"line_number":236,"context_line":"    X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb"},{"line_number":237,"context_line":"    Content-Length: 0"},{"line_number":238,"context_line":"    X-Object-Meta-PIN: 1234"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1af94dfe_ad51e064","line":235,"updated":"2016-03-16 03:53:54.000000000","message":"same","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"8b6f711fb73cdc2fb5f36ca9a8eea83055431746","unresolved":false,"context_lines":[{"line_number":263,"context_line":"     The list of segments may include the MD5 checksum (``ETag``) of each segment."},{"line_number":264,"context_line":"     You cannot upload the manifest object if the ``ETag`` in the list differs"},{"line_number":265,"context_line":"     from the uploaded segment object. If a segment is somehow lost, an attempt"},{"line_number":266,"context_line":"     to download the manifest object results in an error."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"     With dynamic large objects, integrity is not guaranteed. The eventual"},{"line_number":269,"context_line":"     consistency model means that although you have uploaded a segment object, it"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1af94dfe_4dee5c8c","line":266,"updated":"2016-03-16 03:53:54.000000000","message":"Sortof. If you delete any object other than the first one, then the client will get a successful response code (200) and the headers and the bytes of the body until the missing segment is started. Then Swift will detect that a segment is missing, meaning that the SLO is invalid, and it will close the connection immediately.","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"832d84571518ff09c60c6e500db042f2b4576d9d","unresolved":false,"context_lines":[{"line_number":263,"context_line":"     The list of segments may include the MD5 checksum (``ETag``) of each segment."},{"line_number":264,"context_line":"     You cannot upload the manifest object if the ``ETag`` in the list differs"},{"line_number":265,"context_line":"     from the uploaded segment object. If a segment is somehow lost, an attempt"},{"line_number":266,"context_line":"     to download the manifest object results in an error."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"     With dynamic large objects, integrity is not guaranteed. The eventual"},{"line_number":269,"context_line":"     consistency model means that although you have uploaded a segment object, it"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa0719c6_213b4ded","line":266,"in_reply_to":"1af94dfe_4dee5c8c","updated":"2016-03-21 01:17:33.000000000","message":"Noted","commit_id":"d9ec112a39a100c91295a6fb167e620c5153cf03"},{"author":{"_account_id":10705,"name":"Darren Chan","email":"dazzachan@yahoo.com.au","username":"daz"},"change_message_id":"47abd861fa66f77aa27b33fc5d26c5397f819ab3","unresolved":false,"context_lines":[{"line_number":119,"context_line":"|"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"The ``Content-Length`` request header must contain the length of the"},{"line_number":122,"context_line":"JSON content—not the length of the segment objects. However, after the"},{"line_number":123,"context_line":"``PUT`` operation completes, the ``Content-Length`` metadata is set to"},{"line_number":124,"context_line":"the total length of all the object segments. A similar situation applies"},{"line_number":125,"context_line":"to the ``ETag``. If used in the ``PUT`` operation, it must contain the"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0719c6_645ef346","line":122,"range":{"start_line":122,"start_character":12,"end_line":122,"end_character":13},"updated":"2016-03-21 02:56:13.000000000","message":"space before and after the dash","commit_id":"0538d9fd713fb81f91478f4b12bca1c34aa447ce"},{"author":{"_account_id":10705,"name":"Darren Chan","email":"dazzachan@yahoo.com.au","username":"daz"},"change_message_id":"47abd861fa66f77aa27b33fc5d26c5397f819ab3","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    X-Object-Meta-PIN: 1234"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"No response body is returned. A status code of 2\\ *``nn``* (between 200"},{"line_number":201,"context_line":"and 299, inclusive) indicates a successful write; status 411 Length"},{"line_number":202,"context_line":"Required denotes a missing ``Content-Length`` or ``Content-Type`` header"},{"line_number":203,"context_line":"in the request. If the MD5 checksum of the data written to the storage"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0719c6_971d3b69","line":200,"range":{"start_line":200,"start_character":47,"end_line":200,"end_character":58},"updated":"2016-03-21 02:56:13.000000000","message":"Check the output http://docs-draft.openstack.org/30/286530/9/check/gate-openstack-manuals-tox-doc-publish-checkbuild/44100a4//publish-docs/admin-guide-cloud/objectstorage_large-objects.html. Is that correct?","commit_id":"0538d9fd713fb81f91478f4b12bca1c34aa447ce"},{"author":{"_account_id":10705,"name":"Darren Chan","email":"dazzachan@yahoo.com.au","username":"daz"},"change_message_id":"47abd861fa66f77aa27b33fc5d26c5397f819ab3","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"No response body is returned. A status code of 2\\ *``nn``* (between 200"},{"line_number":201,"context_line":"and 299, inclusive) indicates a successful write; status 411 Length"},{"line_number":202,"context_line":"Required denotes a missing ``Content-Length`` or ``Content-Type`` header"},{"line_number":203,"context_line":"in the request. If the MD5 checksum of the data written to the storage"},{"line_number":204,"context_line":"system does NOT match the (optionally) supplied ETag value, a 422"},{"line_number":205,"context_line":"Unprocessable Entity response is returned."}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0719c6_e417a352","line":202,"range":{"start_line":201,"start_character":50,"end_line":202,"end_character":8},"updated":"2016-03-21 02:56:13.000000000","message":"Should this be  ``status 411 Length\nRequired``","commit_id":"0538d9fd713fb81f91478f4b12bca1c34aa447ce"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"2014fdd4fb8437e79e4f49dde2d5b49359208dfc","unresolved":false,"context_lines":[{"line_number":28,"context_line":"   - **Static large objects**"},{"line_number":29,"context_line":"   - **Dynamic large objects**"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"To find out more information on large object support, see"},{"line_number":32,"context_line":"`_Large objects http://docs.openstack.org/user-guide/cli_swift_large_object_creation.html_`"},{"line_number":33,"context_line":"in the End User Guide, or"},{"line_number":34,"context_line":"`_Large Object Support http://docs.openstack.org/developer/swift/overview_large_objects.html_`"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fa0719c6_b1ee84ea","line":31,"range":{"start_line":31,"start_character":53,"end_line":31,"end_character":57},"updated":"2016-03-21 09:43:17.000000000","message":"These links are not working. I think this is what you need:\n\n   `Large objects \u003chttp://docs.openstack.org/user-guide/cli_swift_large_object_creation.html\u003e`_","commit_id":"b2aa10015011bbc853f7142961199b81b1b1d1e2"}]}
