)]}'
{"doc/source/overview_erasure_code.rst":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"4c17ac4c900c31396605a8105f63be4ff63dbc0a","unresolved":false,"context_lines":[{"line_number":266,"context_line":"Global EC"},{"line_number":267,"context_line":"*********"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"Since the initial release of EC, it has not been recommended that an EC scheme"},{"line_number":270,"context_line":"span beyond a single region.  Initial performance and functional validation has"},{"line_number":271,"context_line":"shown that using sufficiently large parity schemas to ensure availability"},{"line_number":272,"context_line":"across regions is inefficient, and rebalance is unoptimized across high latency"},{"line_number":273,"context_line":"bandwidth constrained WANs."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ff0f0b1f_59896a72","line":270,"range":{"start_line":269,"start_character":33,"end_line":270,"end_character":27},"updated":"2017-05-25 11:50:49.000000000","message":"I wasn\u0027t sure if we want to now change this recommendation? - we have composite rings but EC duplication is labelled as \"experimental\".","commit_id":"a02d33d1ad0a9903a116ea422c4bf0ebfaeb0319"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"46507623737ed786b176ea9d152cf657c6e3ae42","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Region support for EC polices is under development! :ref:`ec_duplication`,"},{"line_number":276,"context_line":":ref:`composite_rings` and :ref:`proxy_server_per_policy_config` contribute to"},{"line_number":277,"context_line":"the solution."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":".. _ec_duplication:"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff0f0b1f_a75a6927","line":277,"updated":"2017-05-26 19:54:49.000000000","message":"It\u0027d be nice to have some details on *how* these can be combined to support multi-region EC, but I\u0027m not sure we have a coherent story yet... I guess by the time we address the rebalance issue, maybe that\u0027ll be coming together?","commit_id":"f6f02cfb9443d49fdcbc60895762cd282d6dd9a1"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"0bcfad455d8a71e79ef6c1809292b513b14f627b","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Region support for EC polices is under development! :ref:`ec_duplication`,"},{"line_number":276,"context_line":":ref:`composite_rings` and :ref:`proxy_server_per_policy_config` contribute to"},{"line_number":277,"context_line":"the solution."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":".. _ec_duplication:"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df140735_ef6ba1ee","line":277,"in_reply_to":"ff0f0b1f_a75a6927","updated":"2017-06-07 14:53:17.000000000","message":"I\u0027m attempting a re-write of this section","commit_id":"f6f02cfb9443d49fdcbc60895762cd282d6dd9a1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"46507623737ed786b176ea9d152cf657c6e3ae42","unresolved":false,"context_lines":[{"line_number":349,"context_line":"order to disperse duplicate fragments across regions."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"When EC duplication is used, it is highly desirable to have one duplicate of"},{"line_number":352,"context_line":"each fragment placed in each region. This ensures that the set of"},{"line_number":353,"context_line":"``ec_num_data_fragments`` unique fragments that is required to reconstruct an"},{"line_number":354,"context_line":"object can always be assembled from a single region, which means that objects"},{"line_number":355,"context_line":"are robust in the event of another region becoming unavailable."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"With conventional ring placement it is possible for duplicates of the same"},{"line_number":358,"context_line":"fragment to be placed in the same region (and consequently for another region"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff0f0b1f_07e8f513","line":355,"range":{"start_line":352,"start_character":37,"end_line":355,"end_character":63},"updated":"2017-05-26 19:54:49.000000000","message":"This is getting a little long. Maybe\n\n\u003e This ensures a set of ``ec_num_data_fragments`` unique fragments (the minimum needed to required to reconstruct an object) can always be assembled from a single region. This in turn means that objects are robust in the event of an entire region becoming unavailable.","commit_id":"f6f02cfb9443d49fdcbc60895762cd282d6dd9a1"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"0bcfad455d8a71e79ef6c1809292b513b14f627b","unresolved":false,"context_lines":[{"line_number":349,"context_line":"order to disperse duplicate fragments across regions."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"When EC duplication is used, it is highly desirable to have one duplicate of"},{"line_number":352,"context_line":"each fragment placed in each region. This ensures that the set of"},{"line_number":353,"context_line":"``ec_num_data_fragments`` unique fragments that is required to reconstruct an"},{"line_number":354,"context_line":"object can always be assembled from a single region, which means that objects"},{"line_number":355,"context_line":"are robust in the event of another region becoming unavailable."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"With conventional ring placement it is possible for duplicates of the same"},{"line_number":358,"context_line":"fragment to be placed in the same region (and consequently for another region"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df140735_ff023c0b","line":355,"range":{"start_line":352,"start_character":37,"end_line":355,"end_character":63},"in_reply_to":"ff0f0b1f_07e8f513","updated":"2017-06-07 14:53:17.000000000","message":"That\u0027s better, thanks","commit_id":"f6f02cfb9443d49fdcbc60895762cd282d6dd9a1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"46507623737ed786b176ea9d152cf657c6e3ae42","unresolved":false,"context_lines":[{"line_number":356,"context_line":""},{"line_number":357,"context_line":"With conventional ring placement it is possible for duplicates of the same"},{"line_number":358,"context_line":"fragment to be placed in the same region (and consequently for another region"},{"line_number":359,"context_line":"to have no duplicates of that fragment). This can be avoided by using"},{"line_number":360,"context_line":":ref:`composite_rings`."},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"For example, consider a Swift cluster with two regions, ``region1`` and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff0f0b1f_c7f1dd03","line":359,"range":{"start_line":359,"start_character":11,"end_line":359,"end_character":21},"updated":"2017-05-26 19:54:49.000000000","message":"\"copies\", maybe?","commit_id":"f6f02cfb9443d49fdcbc60895762cd282d6dd9a1"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"0bcfad455d8a71e79ef6c1809292b513b14f627b","unresolved":false,"context_lines":[{"line_number":356,"context_line":""},{"line_number":357,"context_line":"With conventional ring placement it is possible for duplicates of the same"},{"line_number":358,"context_line":"fragment to be placed in the same region (and consequently for another region"},{"line_number":359,"context_line":"to have no duplicates of that fragment). This can be avoided by using"},{"line_number":360,"context_line":":ref:`composite_rings`."},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"For example, consider a Swift cluster with two regions, ``region1`` and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df140735_ba029208","line":359,"range":{"start_line":359,"start_character":11,"end_line":359,"end_character":21},"in_reply_to":"ff0f0b1f_c7f1dd03","updated":"2017-06-07 14:53:17.000000000","message":"Done","commit_id":"f6f02cfb9443d49fdcbc60895762cd282d6dd9a1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"46507623737ed786b176ea9d152cf657c6e3ae42","unresolved":false,"context_lines":[{"line_number":395,"context_line":"Known Issues"},{"line_number":396,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"Efficient Node Selection for Read"},{"line_number":399,"context_line":"---------------------------------"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"Since EC policies requires a set of unique fragment indexes to decode the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff0f0b1f_a7cf09af","line":398,"updated":"2017-05-26 19:54:49.000000000","message":"Should there be something here about recommending read affinity per-policy? Assuming that you\u0027re using a composite ring, setting read affinity should help here, right?","commit_id":"f6f02cfb9443d49fdcbc60895762cd282d6dd9a1"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"0bcfad455d8a71e79ef6c1809292b513b14f627b","unresolved":false,"context_lines":[{"line_number":395,"context_line":"Known Issues"},{"line_number":396,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"Efficient Node Selection for Read"},{"line_number":399,"context_line":"---------------------------------"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"Since EC policies requires a set of unique fragment indexes to decode the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"df140735_6f7f91ab","line":398,"in_reply_to":"ff0f0b1f_a7cf09af","updated":"2017-06-07 14:53:17.000000000","message":"Done","commit_id":"f6f02cfb9443d49fdcbc60895762cd282d6dd9a1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0614c62d17ad33f8693cf1179e1c59fc9595805b","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":".. note::"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    Before deploying an Global EC policy, consideration should be given to the"},{"line_number":282,"context_line":"    :ref:`global_ec_known_issues`, in particular the relatively poor"},{"line_number":283,"context_line":"    performance anticipated from the object-reconstructor."},{"line_number":284,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_a7793094","line":281,"range":{"start_line":281,"start_character":21,"end_line":281,"end_character":23},"updated":"2017-06-12 23:58:01.000000000","message":"s/an/a/","commit_id":"c1a045d627c09aaf595b1822179694a645ff8885"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0614c62d17ad33f8693cf1179e1c59fc9595805b","unresolved":false,"context_lines":[{"line_number":421,"context_line":""},{"line_number":422,"context_line":"The recommended use of EC Duplication in combination with Composite Rings and"},{"line_number":423,"context_line":"proxy server read affinity is designed to mitigate for this; a proxy server"},{"line_number":424,"context_line":"will first attempt to read fragments from nodes in their local region, which"},{"line_number":425,"context_line":"are guaranteed to be unique with respect to each other. However, should enough"},{"line_number":426,"context_line":"of those local reads fail to return a fragment, the proxy server may proceed to"},{"line_number":427,"context_line":"read fragments from other regions. This can be relatively inefficient because"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_672b1830","line":424,"range":{"start_line":424,"start_character":51,"end_line":424,"end_character":56},"updated":"2017-06-12 23:58:01.000000000","message":"s/their/its/","commit_id":"c1a045d627c09aaf595b1822179694a645ff8885"}],"doc/source/overview_global_cluster.rst":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0614c62d17ad33f8693cf1179e1c59fc9595805b","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    The proxy-server configuration options described below can be given generic"},{"line_number":29,"context_line":"    settings in the ``[app:proxy-server]`` configuration section and/or given"},{"line_number":30,"context_line":"    specific setings for individual policies using"},{"line_number":31,"context_line":"    :ref:`proxy_server_per_policy_config`."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7f231b9d_a72b7080","line":30,"range":{"start_line":30,"start_character":13,"end_line":30,"end_character":20},"updated":"2017-06-12 23:58:01.000000000","message":"s/setings/settings/","commit_id":"c1a045d627c09aaf595b1822179694a645ff8885"}]}
