)]}'
{"AUTHORS":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f1a875e3fba33869c33f6dd55b77d584a4bbdb80","unresolved":false,"context_lines":[{"line_number":266,"context_line":"npraveen35 (npraveen35@gmail.com)"},{"line_number":267,"context_line":"Olga Saprycheva (osapryc@us.ibm.com)"},{"line_number":268,"context_line":"Ondrej Novy (ondrej.novy@firma.seznam.cz)"},{"line_number":269,"context_line":"Ondřej Nový (novy@ondrej.org)"},{"line_number":270,"context_line":"Or Ozeri (oro@il.ibm.com)"},{"line_number":271,"context_line":"Oshrit Feder (oshritf@il.ibm.com)"},{"line_number":272,"context_line":"Paul Dardeau (paul.dardeau@intel.com)"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1f1a1f67_a6f714d5","line":269,"updated":"2017-07-20 23:37:17.000000000","message":"Needs mailmap entry instead","commit_id":"b516b10b8602af71d188dc730d5c1b1c60a67111"}],"CHANGELOG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f1a875e3fba33869c33f6dd55b77d584a4bbdb80","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      to end users and with no cluster downtime. Increasing the ring"},{"line_number":22,"context_line":"      part power allows for incremental adjustment to the upper bound"},{"line_number":23,"context_line":"      of the cluster size. Please review the full docs at"},{"line_number":24,"context_line":"      \u003chttps://docs.openstack.org/swift/latest/ring_partpower.html\u003e."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    * Added support for per-policy proxy config options. This allows"},{"line_number":27,"context_line":"      per-policy affinity options to be set for use with duplicated EC"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1f1a1f67_a63dd42d","line":24,"updated":"2017-07-20 23:37:17.000000000","message":"Oh yeah, we should look into what it will take to support part-power increase for composite rings...","commit_id":"b516b10b8602af71d188dc730d5c1b1c60a67111"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f1a875e3fba33869c33f6dd55b77d584a4bbdb80","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    * Added support for per-policy proxy config options. This allows"},{"line_number":27,"context_line":"      per-policy affinity options to be set for use with duplicated EC"},{"line_number":28,"context_line":"      policies [2] and composite rings [3]. Certain options found in per-"},{"line_number":29,"context_line":"      policy conf sections will override their equivalents that may be set"},{"line_number":30,"context_line":"      in the [app:proxy-server] section. Currently the options handled that"},{"line_number":31,"context_line":"      way are sorting_method, read_affinity, write_affinity, and"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1f1a1f67_6647bcbe","line":28,"range":{"start_line":28,"start_character":15,"end_line":28,"end_character":18},"updated":"2017-07-20 23:37:17.000000000","message":"?","commit_id":"b516b10b8602af71d188dc730d5c1b1c60a67111"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f1a875e3fba33869c33f6dd55b77d584a4bbdb80","unresolved":false,"context_lines":[{"line_number":28,"context_line":"      policies [2] and composite rings [3]. Certain options found in per-"},{"line_number":29,"context_line":"      policy conf sections will override their equivalents that may be set"},{"line_number":30,"context_line":"      in the [app:proxy-server] section. Currently the options handled that"},{"line_number":31,"context_line":"      way are sorting_method, read_affinity, write_affinity, and"},{"line_number":32,"context_line":"      write_affinity_node_count."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    * Enabled versioned writes on Dynamic Large Objects (DLOs)."},{"line_number":35,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1f1a1f67_e60cec95","line":32,"range":{"start_line":31,"start_character":14,"end_line":32,"end_character":31},"updated":"2017-07-20 23:37:17.000000000","message":"Maybe better as a bulleted list? IDK.","commit_id":"b516b10b8602af71d188dc730d5c1b1c60a67111"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f1a875e3fba33869c33f6dd55b77d584a4bbdb80","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    * Optimize the Erasure Code reconstructor protocol to reduce IO"},{"line_number":59,"context_line":"      load on servers."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    * Fixed a big where SSYNC would fail to replicate unexpired object."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    * Fixed a bug in domain_remap when obj starts/ends with slash."},{"line_number":64,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1f1a1f67_8623f805","line":61,"range":{"start_line":61,"start_character":14,"end_line":61,"end_character":17},"updated":"2017-07-20 23:37:17.000000000","message":"bug","commit_id":"b516b10b8602af71d188dc730d5c1b1c60a67111"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f1a875e3fba33869c33f6dd55b77d584a4bbdb80","unresolved":false,"context_lines":[{"line_number":72,"context_line":"      adding a check for an \".ismount\" file at the root directory of"},{"line_number":73,"context_line":"      a device."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    * Remove deprecated vm_test_mode option."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    * The config option `slowdown` has been deprecated in favor of the"},{"line_number":78,"context_line":"      new `objects_per_second` and `containers_per_second` options."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1f1a1f67_c68690dc","line":75,"range":{"start_line":75,"start_character":24,"end_line":75,"end_character":36},"updated":"2017-07-20 23:37:17.000000000","message":"No backticks?","commit_id":"b516b10b8602af71d188dc730d5c1b1c60a67111"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f1a875e3fba33869c33f6dd55b77d584a4bbdb80","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    * Remove deprecated vm_test_mode option."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    * The config option `slowdown` has been deprecated in favor of the"},{"line_number":78,"context_line":"      new `objects_per_second` and `containers_per_second` options."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    * The output of devices from `swift-ring-builder` has been reorderd"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1f1a1f67_66757cfa","line":77,"range":{"start_line":77,"start_character":10,"end_line":77,"end_character":16},"updated":"2017-07-20 23:37:17.000000000","message":"Which config(s)?","commit_id":"b516b10b8602af71d188dc730d5c1b1c60a67111"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f1a875e3fba33869c33f6dd55b77d584a4bbdb80","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      new `objects_per_second` and `containers_per_second` options."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    * The output of devices from `swift-ring-builder` has been reorderd"},{"line_number":81,"context_line":"      to region, zone, ip, and device."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    * Various other minor bug fixes and improvements."},{"line_number":84,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1f1a1f67_0666c852","line":81,"range":{"start_line":81,"start_character":6,"end_line":81,"end_character":8},"updated":"2017-07-20 23:37:17.000000000","message":"\"by\"?","commit_id":"b516b10b8602af71d188dc730d5c1b1c60a67111"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"12eb18dab7ceec87b31a5b3c80944eb4a3c63755","unresolved":false,"context_lines":[{"line_number":29,"context_line":"      conf sections will override their equivalents that may be set"},{"line_number":30,"context_line":"      in the [app:proxy-server] section. Currently the options handled that"},{"line_number":31,"context_line":"      way are sorting_method, read_affinity, write_affinity, and"},{"line_number":32,"context_line":"      write_affinity_node_count."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    * Enabled versioned writes on Dynamic Large Objects (DLOs)."},{"line_number":35,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"ff346bd7_1b02aeb5","line":32,"updated":"2017-07-24 01:45:05.000000000","message":"and write_affinity_handoff_delete_count","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    * Remove deprecated `vm_test_mode` option."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    * The object and containser server config option `slowdown` has been"},{"line_number":78,"context_line":"      deprecated in favor of the new `objects_per_second` and"},{"line_number":79,"context_line":"      `containers_per_second` options."},{"line_number":80,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"ff346bd7_504d9a70","line":77,"range":{"start_line":77,"start_character":21,"end_line":77,"end_character":31},"updated":"2017-07-24 17:03:13.000000000","message":"container","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"548a32f6373e949b8ef7f2d93266dff25eae8efd","unresolved":false,"context_lines":[{"line_number":10,"context_line":"      be guaranteed."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"      Composite rings can be used for explicit replica placement and"},{"line_number":13,"context_line":"      \"replicated EC\" for global erasure codes policies."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"      We do not yet have CLI tools for creating composite rings, but"},{"line_number":16,"context_line":"      the functionality has been enabled in the ring modules to"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"ff346bd7_e943366b","line":13,"updated":"2017-07-26 17:04:06.000000000","message":"insert:\n\n\"Composite rings support \u0027cooperative\u0027 rebalance which means that during rebalance all component rings will be consulted before a partition is moved in any component ring. This avoids the same partition being simultaneously moved in multiple components.\"","commit_id":"8e50a5e57fea631630a7e57cc30e65827c6ebb71"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"548a32f6373e949b8ef7f2d93266dff25eae8efd","unresolved":false,"context_lines":[{"line_number":16,"context_line":"      the functionality has been enabled in the ring modules to"},{"line_number":17,"context_line":"      support this advanced functionality. CLI tools will be delivered"},{"line_number":18,"context_line":"      in a subsequent release."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    * Add support to increase object ring partition power transparently"},{"line_number":21,"context_line":"      to end users and with no cluster downtime. Increasing the ring"},{"line_number":22,"context_line":"      part power allows for incremental adjustment to the upper bound"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"ff346bd7_4c17f046","line":19,"updated":"2017-07-26 17:04:06.000000000","message":"perhaps add a link to the docs \n\nFor further information see the docs at: https://docs.openstack.org/swift/latest/overview_ring.html#module-swift.common.ring.composite_builder","commit_id":"8e50a5e57fea631630a7e57cc30e65827c6ebb71"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"931764f96369226f5d93049dd7e4dcd5285fbe71","unresolved":false,"context_lines":[{"line_number":17,"context_line":"      partition is moved in any component ring. This avoids the same"},{"line_number":18,"context_line":"      partition being simultaneously moved in multiple components."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"      We do not yet have CLI tools for creating composite rings, but"},{"line_number":21,"context_line":"      the functionality has been enabled in the ring modules to"},{"line_number":22,"context_line":"      support this advanced functionality. CLI tools will be delivered"},{"line_number":23,"context_line":"      in a subsequent release."}],"source_content_type":"application/octet-stream","patch_set":6,"id":"ff346bd7_5a988d73","line":20,"range":{"start_line":20,"start_character":39,"end_line":20,"end_character":47},"updated":"2017-07-27 21:31:20.000000000","message":"Worth adding \"or rebalancing\"? Or just change the whole thing to \"managing\"?","commit_id":"398d226f90da2fb873d2df4d28980e825c044928"}],"releasenotes/notes/2_15_0_release-0a05a011fb85a9c9.yaml":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    to end users and with no cluster downtime. Increasing the ring"},{"line_number":23,"context_line":"    part power allows for incremental adjustment to the upper bound"},{"line_number":24,"context_line":"    of the cluster size. Please review the full docs at"},{"line_number":25,"context_line":"    \u003chttps://docs.openstack.org/swift/latest/ring_partpower.html\u003e."},{"line_number":26,"context_line":"  - \u003e"},{"line_number":27,"context_line":"    Added support for per-policy proxy config options. This allows"},{"line_number":28,"context_line":"    per-policy affinity options to be set for use with duplicated EC"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff346bd7_05191284","line":25,"updated":"2017-07-24 17:03:13.000000000","message":"Can we give this some better link text?","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    deployment with write affinity configured, users always get 404"},{"line_number":40,"context_line":"    when deleting object before it\u0027s replicated to appropriate nodes."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Now Swift will use `write_affinity_handoff_delete_count` to"},{"line_number":43,"context_line":"    define how many local handoff nodes should swift send request to"},{"line_number":44,"context_line":"    get more candidates for the final response. The default value"},{"line_number":45,"context_line":"    \"auto\" means Swift will calculate the number automatically based"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff346bd7_45515a36","line":42,"updated":"2017-07-24 17:03:13.000000000","message":"We\u0027re writing rst now; I think you want double backticks.","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    Require that known-bad EC schemes be deprecated"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    Erasure-coded storage policies using isa_l_rs_vand and nparity"},{"line_number":51,"context_line":"    \u003e\u003d 5 must be configured as deprecated, preventing any new"},{"line_number":52,"context_line":"    containers from being created with such a policy. This"},{"line_number":53,"context_line":"    configuration is known to harm data durability. Any data in such"},{"line_number":54,"context_line":"    policies should be migrated to a new policy. See"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff346bd7_d012aa58","line":51,"updated":"2017-07-24 17:03:13.000000000","message":"Should these be fixed-width?","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    containers from being created with such a policy. This"},{"line_number":53,"context_line":"    configuration is known to harm data durability. Any data in such"},{"line_number":54,"context_line":"    policies should be migrated to a new policy. See"},{"line_number":55,"context_line":"    https://bugs.launchpad.net/swift/+bug/1639691 for more"},{"line_number":56,"context_line":"    information"},{"line_number":57,"context_line":"  - \u003e"},{"line_number":58,"context_line":"    Optimize the Erasure Code reconstructor protocol to reduce IO"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff346bd7_a52ec6a2","line":55,"updated":"2017-07-24 17:03:13.000000000","message":"Better as\n\n\u003e See `Launchpad bug 1639691 \u003chttps://bugs.launchpad.net/swift/+bug/1639691\u003e`__ for more information.","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  - Fixed a bug in domain_remap when obj starts/ends with slash."},{"line_number":62,"context_line":"  - Fixed a socket leak in copy middleware when a large object was copied."},{"line_number":63,"context_line":"  - \u003e"},{"line_number":64,"context_line":"    cname_lookup middleware now accepts a `nameservers` config"},{"line_number":65,"context_line":"    variable that, if defined, will be used for DNS lookups instead of"},{"line_number":66,"context_line":"    the system default."},{"line_number":67,"context_line":"  - \u003e"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff346bd7_c55c2a4d","line":64,"updated":"2017-07-24 17:03:13.000000000","message":"More double backticks","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    Make mount_check option usable in containerized environments by"},{"line_number":69,"context_line":"    adding a check for an \".ismount\" file at the root directory of"},{"line_number":70,"context_line":"    a device."},{"line_number":71,"context_line":"  - Remove deprecated `vm_test_mode` option."},{"line_number":72,"context_line":"  - \u003e"},{"line_number":73,"context_line":"    The object and containser server config option `slowdown` has been"},{"line_number":74,"context_line":"    deprecated in favor of the new `objects_per_second` and"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff346bd7_a559265b","line":71,"updated":"2017-07-24 17:03:13.000000000","message":"...and here","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  - \u003e"},{"line_number":73,"context_line":"    The object and containser server config option `slowdown` has been"},{"line_number":74,"context_line":"    deprecated in favor of the new `objects_per_second` and"},{"line_number":75,"context_line":"    `containers_per_second` options."},{"line_number":76,"context_line":"  - \u003e"},{"line_number":77,"context_line":"    The output of devices from `swift-ring-builder` has been reordered"},{"line_number":78,"context_line":"    by region, zone, ip, and device."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff346bd7_6531fe0b","line":75,"updated":"2017-07-24 17:03:13.000000000","message":"And here","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"69f8996068afc0cb9486390f064b991c3d9f8a50","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    deprecated in favor of the new `objects_per_second` and"},{"line_number":75,"context_line":"    `containers_per_second` options."},{"line_number":76,"context_line":"  - \u003e"},{"line_number":77,"context_line":"    The output of devices from `swift-ring-builder` has been reordered"},{"line_number":78,"context_line":"    by region, zone, ip, and device."},{"line_number":79,"context_line":"  - Imported docs content from openstack-manuals project."},{"line_number":80,"context_line":"  - Various other minor bug fixes and improvements."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ff346bd7_253bf6eb","line":77,"updated":"2017-07-24 17:03:13.000000000","message":"And here","commit_id":"7fd127ede65cd9d1edae0a572186ea90447100a8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"af28fbfb3b6f8e043be970d56bf4a3e7ec4afefa","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    policies and composite rings. Certain options found in per-policy"},{"line_number":31,"context_line":"    conf sections will override their equivalents that may be set"},{"line_number":32,"context_line":"    in the [app:proxy-server] section. Currently the options handled that"},{"line_number":33,"context_line":"    way are sorting_method, read_affinity, write_affinity,"},{"line_number":34,"context_line":"    write_affinity_node_count, and write_affinity_handoff_delete_count."},{"line_number":35,"context_line":"  - Enabled versioned writes on Dynamic Large Objects (DLOs)."},{"line_number":36,"context_line":"  - \u003e"},{"line_number":37,"context_line":"    Write-affinity aware object deletion"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ff346bd7_9692daf5","line":34,"range":{"start_line":33,"start_character":12,"end_line":34,"end_character":70},"updated":"2017-07-24 18:28:00.000000000","message":"Maybe should have backticks?","commit_id":"2cdd4acc3228a63ad3020eb4683f864570a6af7e"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"af28fbfb3b6f8e043be970d56bf4a3e7ec4afefa","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  - \u003e"},{"line_number":49,"context_line":"    Require that known-bad EC schemes be deprecated"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    Erasure-coded storage policies using ``isa_l_rs_vand`` and nparity"},{"line_number":52,"context_line":"    \u003e\u003d 5 must be configured as deprecated, preventing any new"},{"line_number":53,"context_line":"    containers from being created with such a policy. This"},{"line_number":54,"context_line":"    configuration is known to harm data durability. Any data in such"},{"line_number":55,"context_line":"    policies should be migrated to a new policy. See"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ff346bd7_b6d71ec0","line":52,"range":{"start_line":51,"start_character":63,"end_line":52,"end_character":8},"updated":"2017-07-24 18:28:00.000000000","message":"Here too, maybe?","commit_id":"2cdd4acc3228a63ad3020eb4683f864570a6af7e"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"af28fbfb3b6f8e043be970d56bf4a3e7ec4afefa","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    Make mount_check option usable in containerized environments by"},{"line_number":70,"context_line":"    adding a check for an \".ismount\" file at the root directory of"},{"line_number":71,"context_line":"    a device."},{"line_number":72,"context_line":"  - Remove deprecated `vm_test_mode` option."},{"line_number":73,"context_line":"  - \u003e"},{"line_number":74,"context_line":"    The object and container server config option `slowdown` has been"},{"line_number":75,"context_line":"    deprecated in favor of the new `objects_per_second` and"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ff346bd7_f6a3664e","line":72,"range":{"start_line":72,"start_character":22,"end_line":72,"end_character":36},"updated":"2017-07-24 18:28:00.000000000","message":"More backticks","commit_id":"2cdd4acc3228a63ad3020eb4683f864570a6af7e"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"af28fbfb3b6f8e043be970d56bf4a3e7ec4afefa","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    a device."},{"line_number":72,"context_line":"  - Remove deprecated `vm_test_mode` option."},{"line_number":73,"context_line":"  - \u003e"},{"line_number":74,"context_line":"    The object and container server config option `slowdown` has been"},{"line_number":75,"context_line":"    deprecated in favor of the new `objects_per_second` and"},{"line_number":76,"context_line":"    ``containers_per_second`` options."},{"line_number":77,"context_line":"  - \u003e"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ff346bd7_369a0e14","line":74,"range":{"start_line":74,"start_character":50,"end_line":74,"end_character":60},"updated":"2017-07-24 18:28:00.000000000","message":"More backticks","commit_id":"2cdd4acc3228a63ad3020eb4683f864570a6af7e"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"af28fbfb3b6f8e043be970d56bf4a3e7ec4afefa","unresolved":false,"context_lines":[{"line_number":72,"context_line":"  - Remove deprecated `vm_test_mode` option."},{"line_number":73,"context_line":"  - \u003e"},{"line_number":74,"context_line":"    The object and container server config option `slowdown` has been"},{"line_number":75,"context_line":"    deprecated in favor of the new `objects_per_second` and"},{"line_number":76,"context_line":"    ``containers_per_second`` options."},{"line_number":77,"context_line":"  - \u003e"},{"line_number":78,"context_line":"    The output of devices from ``swift-ring-builder`` has been reordered"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ff346bd7_569592e3","line":75,"range":{"start_line":75,"start_character":35,"end_line":75,"end_character":55},"updated":"2017-07-24 18:28:00.000000000","message":"More backticks","commit_id":"2cdd4acc3228a63ad3020eb4683f864570a6af7e"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e46e193d9940c40a89c201ee268b282651baf938","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - \u003e"},{"line_number":4,"context_line":"    Add Composite Ring Functionality"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    A composite ring comprises two or more component rings that are"},{"line_number":7,"context_line":"    combined to form a single ring with a replica count equal to the"},{"line_number":8,"context_line":"    sum of the component rings. The component rings are built"},{"line_number":9,"context_line":"    independently, using distinct devices in distinct regions, which"},{"line_number":10,"context_line":"    means that the dispersion of replicas between the components can"},{"line_number":11,"context_line":"    be guaranteed."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Composite rings can be used for explicit replica placement and"},{"line_number":14,"context_line":"    \"replicated EC\" for global erasure codes policies."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    We do not yet have CLI tools for creating composite rings, but"},{"line_number":17,"context_line":"    the functionality has been enabled in the ring modules to"},{"line_number":18,"context_line":"    support this advanced functionality. CLI tools will be delivered"},{"line_number":19,"context_line":"    in a subsequent release."},{"line_number":20,"context_line":"  - \u003e"},{"line_number":21,"context_line":"    Add support to increase object ring partition power transparently"},{"line_number":22,"context_line":"    to end users and with no cluster downtime. Increasing the ring"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ff346bd7_2d41913a","line":19,"range":{"start_line":4,"start_character":4,"end_line":19,"end_character":28},"updated":"2017-07-25 01:15:50.000000000","message":"This all renders as one paragraph.","commit_id":"43b19e1c718927433dc5a41c7f6d42e2cbdc6bbd"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e46e193d9940c40a89c201ee268b282651baf938","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    ``write_affinity_node_count``, and ``write_affinity_handoff_delete_count``."},{"line_number":35,"context_line":"  - Enabled versioned writes on Dynamic Large Objects (DLOs)."},{"line_number":36,"context_line":"  - \u003e"},{"line_number":37,"context_line":"    Write-affinity aware object deletion"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    Previously, when deleting objects in multi-region swift"},{"line_number":40,"context_line":"    deployment with write affinity configured, users always get 404"},{"line_number":41,"context_line":"    when deleting object before it\u0027s replicated to appropriate nodes."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    Now Swift will use ``write_affinity_handoff_delete_count`` to"},{"line_number":44,"context_line":"    define how many local handoff nodes should swift send request to"},{"line_number":45,"context_line":"    get more candidates for the final response. The default value"},{"line_number":46,"context_line":"    \"auto\" means Swift will calculate the number automatically based"},{"line_number":47,"context_line":"    on the number of replicas and current cluster topology."},{"line_number":48,"context_line":"  - \u003e"},{"line_number":49,"context_line":"    Require that known-bad EC schemes be deprecated"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ff346bd7_6d70b9a6","line":47,"range":{"start_line":37,"start_character":4,"end_line":47,"end_character":59},"updated":"2017-07-25 01:15:50.000000000","message":"As does this.","commit_id":"43b19e1c718927433dc5a41c7f6d42e2cbdc6bbd"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e46e193d9940c40a89c201ee268b282651baf938","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    \"auto\" means Swift will calculate the number automatically based"},{"line_number":47,"context_line":"    on the number of replicas and current cluster topology."},{"line_number":48,"context_line":"  - \u003e"},{"line_number":49,"context_line":"    Require that known-bad EC schemes be deprecated"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    Erasure-coded storage policies using ``isa_l_rs_vand`` and ``nparity``"},{"line_number":52,"context_line":"    \u003e\u003d 5 must be configured as deprecated, preventing any new"},{"line_number":53,"context_line":"    containers from being created with such a policy. This"},{"line_number":54,"context_line":"    configuration is known to harm data durability. Any data in such"},{"line_number":55,"context_line":"    policies should be migrated to a new policy. See"},{"line_number":56,"context_line":"    See `Launchpad bug 1639691 \u003chttps://bugs.launchpad.net/swift/+bug/1639691\u003e`__"},{"line_number":57,"context_line":"    for more information."},{"line_number":58,"context_line":"  - \u003e"},{"line_number":59,"context_line":"    Optimize the Erasure Code reconstructor protocol to reduce IO"},{"line_number":60,"context_line":"    load on servers."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ff346bd7_0d65ade1","line":57,"range":{"start_line":49,"start_character":4,"end_line":57,"end_character":25},"updated":"2017-07-25 01:15:50.000000000","message":"And this.","commit_id":"43b19e1c718927433dc5a41c7f6d42e2cbdc6bbd"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"931764f96369226f5d93049dd7e4dcd5285fbe71","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  - Fixed a bug in domain_remap when obj starts/ends with slash."},{"line_number":82,"context_line":"  - Fixed a socket leak in copy middleware when a large object was copied."},{"line_number":83,"context_line":"  - Fixed a few areas where the ``swiftdir`` option was not respected."},{"line_number":84,"context_line":"  - swift-recon now respects storage policy aliases."},{"line_number":85,"context_line":"  - |"},{"line_number":86,"context_line":"    cname_lookup middleware now accepts a ``nameservers`` config"},{"line_number":87,"context_line":"    variable that, if defined, will be used for DNS lookups instead of"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"ff346bd7_fab061df","line":84,"range":{"start_line":84,"start_character":4,"end_line":84,"end_character":15},"updated":"2017-07-27 21:31:20.000000000","message":"We put this in backticks in the text notes -- do we want fixed-width here?","commit_id":"398d226f90da2fb873d2df4d28980e825c044928"}]}
