)]}'
{"CHANGELOG":[{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"7f6e3d1ea206dddbaca62f6e5b032915959c59c7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      code implementation."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"      - Separate .durable files have been eliminated. Instead of using a"},{"line_number":7,"context_line":"        separate .durable file to indicate the durable status of a .data"},{"line_number":8,"context_line":"        file, we rename the .data to include a durable marker in the filename."},{"line_number":9,"context_line":"        This saves one inode for every EC fragment archive."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      - Closed a bug where ssync may have written bad fragment data in"},{"line_number":12,"context_line":"        some circumstances. A check was added to ensure the correct number"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7a77a97e_529cca5c","line":9,"range":{"start_line":7,"start_character":67,"end_line":9,"end_character":59},"updated":"2016-11-17 23:03:04.000000000","message":"how about?\n\nInstead of using a separate .durable file to indicate the durable status of an EC fragment archive, we rename the .data to include a durable marker in the filename. This saves one inode for every EC .data file.","commit_id":"7c06cf6f26edf4c9ec573f128311cbd2fa18d05d"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"53fec3c15d0eb1e657f0291a4c049afa6e045b84","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      code implementation."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"      - Separate .durable files have been eliminated. Instead of using a"},{"line_number":7,"context_line":"        separate .durable file to indicate the durable status of a .data"},{"line_number":8,"context_line":"        file, we rename the .data to include a durable marker in the filename."},{"line_number":9,"context_line":"        This saves one inode for every EC fragment archive."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      - Closed a bug where ssync may have written bad fragment data in"},{"line_number":12,"context_line":"        some circumstances. A check was added to ensure the correct number"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7a77a97e_6dd00720","line":9,"range":{"start_line":7,"start_character":67,"end_line":9,"end_character":59},"in_reply_to":"7a77a97e_529cca5c","updated":"2016-11-17 23:26:36.000000000","message":"Done","commit_id":"7c06cf6f26edf4c9ec573f128311cbd2fa18d05d"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"7f6e3d1ea206dddbaca62f6e5b032915959c59c7","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    * Added a \"user\" option to the drive-audit config file. Its value is"},{"line_number":46,"context_line":"      used to set the owner of the drive-audit recon cache."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    * Throttle update_auditor_status calls so it updates nor more than once"},{"line_number":49,"context_line":"      per minute."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    * Suppress unexpected file warnings for rsync temp files."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7a77a97e_52b76af4","line":48,"range":{"start_line":48,"start_character":57,"end_line":48,"end_character":60},"updated":"2016-11-17 23:03:04.000000000","message":"no","commit_id":"7c06cf6f26edf4c9ec573f128311cbd2fa18d05d"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"53fec3c15d0eb1e657f0291a4c049afa6e045b84","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    * Added a \"user\" option to the drive-audit config file. Its value is"},{"line_number":46,"context_line":"      used to set the owner of the drive-audit recon cache."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    * Throttle update_auditor_status calls so it updates nor more than once"},{"line_number":49,"context_line":"      per minute."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    * Suppress unexpected file warnings for rsync temp files."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7a77a97e_4db7cbf4","line":48,"range":{"start_line":48,"start_character":57,"end_line":48,"end_character":60},"in_reply_to":"7a77a97e_52b76af4","updated":"2016-11-17 23:26:36.000000000","message":"Done","commit_id":"7c06cf6f26edf4c9ec573f128311cbd2fa18d05d"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"37baea7117a205323ec49ea2de9342dbdb150082","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"      - Instead of using a separate .durable file to indicate the"},{"line_number":7,"context_line":"        durable status of an EC fragment archive, we rename the .data"},{"line_number":8,"context_line":"        to include a durable marker in the filename. This saves one"},{"line_number":9,"context_line":"        inode for every EC .data file."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      - Closed a bug where ssync may have written bad fragment data in"},{"line_number":12,"context_line":"        some circumstances. A check was added to ensure the correct number"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_4da26b4c","line":9,"range":{"start_line":8,"start_character":53,"end_line":9,"end_character":38},"updated":"2016-11-17 23:50:11.000000000","message":"Is this only for newly-ingested data, or will the cluster automatically clean up existing data over time?","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"a44ac6ace9e1a611b8bf0b8af7d822ecbcf85117","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"      - Instead of using a separate .durable file to indicate the"},{"line_number":7,"context_line":"        durable status of an EC fragment archive, we rename the .data"},{"line_number":8,"context_line":"        to include a durable marker in the filename. This saves one"},{"line_number":9,"context_line":"        inode for every EC .data file."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"      - Closed a bug where ssync may have written bad fragment data in"},{"line_number":12,"context_line":"        some circumstances. A check was added to ensure the correct number"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_f366b54f","line":9,"range":{"start_line":8,"start_character":53,"end_line":9,"end_character":38},"in_reply_to":"7a77a97e_4da26b4c","updated":"2016-11-18 02:53:55.000000000","message":"AFAIK, .durable files will still exist in the existing clusters. Only the times when reconstructing or rebalancing can eliminate the existing .durable, maybe?\n\nAnd, I think we need one more note, once upgrading to 2.11.0 and EC data stored, probably the cluster cannot be back to \u003c2.11.0 (sorry, not yet testing though). That is because the older swift cannot detect the \u003ctimestamp\u003e#\u003cfrag_index\u003e#d.data (in the new format) as a durable file.","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"a44ac6ace9e1a611b8bf0b8af7d822ecbcf85117","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        applied to the reconstructor. This allows fragments to be rebuilt"},{"line_number":19,"context_line":"        in more circumstances, resulting in faster recovery from failures."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"      - WARNING: If you are using the ISA-L library for erasure codes,"},{"line_number":22,"context_line":"        please upgrade to liberasurecode 1.3.1 (or later) as soon as"},{"line_number":23,"context_line":"        possible. If you are using isa_l_rs_vand with more than 4 parity,"},{"line_number":24,"context_line":"        please read https://bugs.launchpad.net/swift/+bug/1639691 and take"},{"line_number":25,"context_line":"        necessary action."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"      - Updated the PyECLib dependency to 1.3.1."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    * Added a configurable URL base to staticweb."},{"line_number":30,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_733e2529","line":27,"range":{"start_line":21,"start_character":7,"end_line":27,"end_character":48},"updated":"2016-11-18 02:53:55.000000000","message":"Do you want https://review.openstack.org/#/c/398744/ and https://review.openstack.org/#/c/398752 ?\n\nThe first one is for logging the older liberasurecode warning and latter is for bump pyeclib 1.3.2 depends on the first one.","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"34313ee7b88a2a1b2babb915b62fd1dc3d543d5c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        applied to the reconstructor. This allows fragments to be rebuilt"},{"line_number":19,"context_line":"        in more circumstances, resulting in faster recovery from failures."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"      - WARNING: If you are using the ISA-L library for erasure codes,"},{"line_number":22,"context_line":"        please upgrade to liberasurecode 1.3.1 (or later) as soon as"},{"line_number":23,"context_line":"        possible. If you are using isa_l_rs_vand with more than 4 parity,"},{"line_number":24,"context_line":"        please read https://bugs.launchpad.net/swift/+bug/1639691 and take"},{"line_number":25,"context_line":"        necessary action."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"      - Updated the PyECLib dependency to 1.3.1."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    * Added a configurable URL base to staticweb."},{"line_number":30,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_c9d4a821","line":27,"range":{"start_line":21,"start_character":7,"end_line":27,"end_character":48},"in_reply_to":"7a77a97e_733e2529","updated":"2016-11-18 03:50:14.000000000","message":"Done","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"37baea7117a205323ec49ea2de9342dbdb150082","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    * Added a configurable URL base to staticweb."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    * Support multi-range GETs for static large objects."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    * TempURLs using the \"inline\" parameter can now also set the"},{"line_number":34,"context_line":"      \"filename\" parameter. Both are used in the Content-Disposition"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_ed32570f","line":31,"updated":"2016-11-17 23:50:11.000000000","message":"Oh man, you don\u0027t even *know* how great SLO is going to be now! https://review.openstack.org/#/c/391682/ will land before this possibly could. Are you excited? I\u0027m excited.","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"34313ee7b88a2a1b2babb915b62fd1dc3d543d5c","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    * Added a configurable URL base to staticweb."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    * Support multi-range GETs for static large objects."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    * TempURLs using the \"inline\" parameter can now also set the"},{"line_number":34,"context_line":"      \"filename\" parameter. Both are used in the Content-Disposition"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_29299c37","line":31,"in_reply_to":"7a77a97e_ed32570f","updated":"2016-11-18 03:50:14.000000000","message":"Done","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"37baea7117a205323ec49ea2de9342dbdb150082","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    * Mirror X-Trans-Id to X-Openstack-Request-Id."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    * Ignore Range values like \"bytes\u003d--0\"."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    * Suppressed the KeyError message when auditor finds an expired object."},{"line_number":42,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_8d7643d5","line":39,"updated":"2016-11-17 23:50:11.000000000","message":"Eh, this could probably go away; I think it falls under \"Various other minor bug fixes\"","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"34313ee7b88a2a1b2babb915b62fd1dc3d543d5c","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    * Mirror X-Trans-Id to X-Openstack-Request-Id."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    * Ignore Range values like \"bytes\u003d--0\"."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    * Suppressed the KeyError message when auditor finds an expired object."},{"line_number":42,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_49225853","line":39,"in_reply_to":"7a77a97e_8d7643d5","updated":"2016-11-18 03:50:14.000000000","message":"Done","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"37baea7117a205323ec49ea2de9342dbdb150082","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    * Throttle update_auditor_status calls so it updates no more than once"},{"line_number":49,"context_line":"      per minute."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    * Suppress unexpected file warnings for rsync temp files."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    * Various other minor bug fixes and improvements."},{"line_number":54,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_bf188676","line":51,"updated":"2016-11-17 23:50:11.000000000","message":"Should this be\n\n\u003e Suppress unexpected-file warnings for rsync temp files.\n\nor\n\n\u003e Suppress unexpected file-warnings for rsync temp files.\n\n?\n\nAre these warnings about unexpected files, or unexpected warnings about files?","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"34313ee7b88a2a1b2babb915b62fd1dc3d543d5c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    * Throttle update_auditor_status calls so it updates no more than once"},{"line_number":49,"context_line":"      per minute."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    * Suppress unexpected file warnings for rsync temp files."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    * Various other minor bug fixes and improvements."},{"line_number":54,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_691f1408","line":51,"in_reply_to":"7a77a97e_bf188676","updated":"2016-11-18 03:50:14.000000000","message":"Done","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"37baea7117a205323ec49ea2de9342dbdb150082","unresolved":false,"context_lines":[{"line_number":49,"context_line":"      per minute."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    * Suppress unexpected file warnings for rsync temp files."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    * Various other minor bug fixes and improvements."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"swift (2.10.0, OpenStack Newton)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_4d47cb76","line":52,"updated":"2016-11-17 23:50:11.000000000","message":"May want to land https://review.openstack.org/#/c/399237/ (and mention it here)","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"34313ee7b88a2a1b2babb915b62fd1dc3d543d5c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"      per minute."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    * Suppress unexpected file warnings for rsync temp files."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    * Various other minor bug fixes and improvements."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"swift (2.10.0, OpenStack Newton)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7a77a97e_8918f01f","line":52,"in_reply_to":"7a77a97e_4d47cb76","updated":"2016-11-18 03:50:14.000000000","message":"Done","commit_id":"e06d3d69e73a24fd5cddc61dc2dcd63051b0de1c"}],"releasenotes/notes/2_11_0_release-ac1d256e455d347e.yaml":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"e4be46597694f6a1309070a89f24ac1ac077e185","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    to include a durable marker in the filename. This saves one"},{"line_number":11,"context_line":"    inode for every EC .data file. Existing .durable files will not"},{"line_number":12,"context_line":"    be removed, and they will continue to work just fine."},{"line_number":13,"context_line":"  - \u003e"},{"line_number":14,"context_line":"    Closed a bug where ssync may have written bad fragment data in"},{"line_number":15,"context_line":"    some circumstances. A check was added to ensure the correct number"},{"line_number":16,"context_line":"    of bytes is written for a fragment before finalizing the write."},{"line_number":17,"context_line":"    Also, erasure coded fragment metadata will now be validated on read"},{"line_number":18,"context_line":"    requests and, if bad data is found, the fragment will be quarantined."},{"line_number":19,"context_line":"  - Added a configurable URL base to staticweb."},{"line_number":20,"context_line":"  - Support multi-range GETs for static large objects."},{"line_number":21,"context_line":"  - \u003e"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7a77a97e_a9492cb9","line":18,"range":{"start_line":13,"start_character":0,"end_line":18,"end_character":73},"updated":"2016-11-18 04:13:40.000000000","message":"I\u0027m not familiar with reno-style, looking at 2.10 yaml file, should this be in fixes section?","commit_id":"bf473ddc9d3fcb3a3fe516b5221a588c5b196a1d"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"e4be46597694f6a1309070a89f24ac1ac077e185","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    will be done at a time, but this can be changed by the operator via"},{"line_number":30,"context_line":"    the new `concurrency` setting in the \"[filter:slo]\" section of"},{"line_number":31,"context_line":"    the proxy server config."},{"line_number":32,"context_line":"  - Suppressed the KeyError message when auditor finds an expired object."},{"line_number":33,"context_line":"  - Daemons using InternalClient can now be properly killed with SIGTERM."},{"line_number":34,"context_line":"  - \u003e"},{"line_number":35,"context_line":"    Added a \"user\" option to the drive-audit config file. Its value is"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7a77a97e_e9cde431","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":73},"updated":"2016-11-18 04:13:40.000000000","message":"Ditto","commit_id":"bf473ddc9d3fcb3a3fe516b5221a588c5b196a1d"}]}
