)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0bfb92121c1f33a60dd11a52473ca50dd909e0b9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add asynchronous error info into messages when share extend error"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The database table messages is used to record various asynchronous error"},{"line_number":10,"context_line":"messages,extend share is an asynchronously invoked procedure, when the"},{"line_number":11,"context_line":"driver layer fails to execute extend share, we should record this"},{"line_number":12,"context_line":"asynchronous error into database. But there are no records now."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_7099ae6b","line":10,"range":{"start_line":10,"start_character":8,"end_line":10,"end_character":10},"updated":"2019-11-27 12:04:46.000000000","message":"nit: please add a blank space between this characters","commit_id":"b6af8e07266511335115e019baffacd92fa2062a"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"3c437e23d4b5e6434b50c933da60d445d03f26fc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add asynchronous error info into messages when share extend error"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The database table messages is used to record various asynchronous error"},{"line_number":10,"context_line":"messages,extend share is an asynchronously invoked procedure, when the"},{"line_number":11,"context_line":"driver layer fails to execute extend share, we should record this"},{"line_number":12,"context_line":"asynchronous error into database. But there are no records now."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_ee0ff788","line":10,"range":{"start_line":10,"start_character":8,"end_line":10,"end_character":10},"in_reply_to":"3fa7e38b_7099ae6b","updated":"2019-11-28 02:03:53.000000000","message":"Done","commit_id":"b6af8e07266511335115e019baffacd92fa2062a"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0bfb92121c1f33a60dd11a52473ca50dd909e0b9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The database table messages is used to record various asynchronous error"},{"line_number":10,"context_line":"messages,extend share is an asynchronously invoked procedure, when the"},{"line_number":11,"context_line":"driver layer fails to execute extend share, we should record this"},{"line_number":12,"context_line":"asynchronous error into database. But there are no records now."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug:#1850264"},{"line_number":15,"context_line":"Change-Id: I06a9bf24ab3d4aa5f4f5446d344bf55d71803e47"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_50e272d6","line":12,"range":{"start_line":12,"start_character":34,"end_line":12,"end_character":63},"updated":"2019-11-27 12:04:46.000000000","message":"What about: This commit modify this behavior, and now this asynchronows error is recorded in the database.","commit_id":"b6af8e07266511335115e019baffacd92fa2062a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"474b55fef5eec87f180c356bb156828d3141e46f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"driver layer fails to execute extend share, we should record this"},{"line_number":12,"context_line":"asynchronous error into database. This commit modify this behavior, and"},{"line_number":13,"context_line":"now this asynchronows error is recorded in the database."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug:#1850264"},{"line_number":16,"context_line":"Change-Id: I06a9bf24ab3d4aa5f4f5446d344bf55d71803e47"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_493497fb","line":14,"updated":"2019-12-06 07:45:42.000000000","message":"We can declare this change in [1] in the commit message, which is divided into type 1 (driver error) and type 2 (not reaching driver error). It is recommended that everyone can do this in the future to facilitate better maintenance of manila.\n\n[1] https://review.opendev.org/#/c/692079/5/manila/message/message_field.py@47~80","commit_id":"75d12b044e8a35664af77b606b49e28e721e8893"}],"manila/message/message_field.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0bfb92121c1f33a60dd11a52473ca50dd909e0b9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    UPDATE \u003d (\u0027005\u0027, _(\u0027update\u0027))"},{"line_number":32,"context_line":"    REVERT_TO_SNAPSHOT \u003d (\u0027006\u0027, _(\u0027revert to snapshot\u0027))"},{"line_number":33,"context_line":"    DELETE \u003d (\u0027007\u0027, _(\u0027delete\u0027))"},{"line_number":34,"context_line":"    EXTEND_SHARE \u003d (\u0027008\u0027, _(\u0027extend share\u0027))"},{"line_number":35,"context_line":"    ALL \u003d (ALLOCATE_HOST,"},{"line_number":36,"context_line":"           CREATE,"},{"line_number":37,"context_line":"           DELETE_ACCESS_RULES,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_f0c11e50","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":16},"updated":"2019-11-27 12:04:46.000000000","message":"nit: maybe only \u0027EXTEND\u0027?","commit_id":"b6af8e07266511335115e019baffacd92fa2062a"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"3c437e23d4b5e6434b50c933da60d445d03f26fc","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    UPDATE \u003d (\u0027005\u0027, _(\u0027update\u0027))"},{"line_number":32,"context_line":"    REVERT_TO_SNAPSHOT \u003d (\u0027006\u0027, _(\u0027revert to snapshot\u0027))"},{"line_number":33,"context_line":"    DELETE \u003d (\u0027007\u0027, _(\u0027delete\u0027))"},{"line_number":34,"context_line":"    EXTEND_SHARE \u003d (\u0027008\u0027, _(\u0027extend share\u0027))"},{"line_number":35,"context_line":"    ALL \u003d (ALLOCATE_HOST,"},{"line_number":36,"context_line":"           CREATE,"},{"line_number":37,"context_line":"           DELETE_ACCESS_RULES,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_ce28fb34","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":16},"in_reply_to":"3fa7e38b_f0c11e50","updated":"2019-11-28 02:03:53.000000000","message":"yes, it would be better.","commit_id":"b6af8e07266511335115e019baffacd92fa2062a"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0bfb92121c1f33a60dd11a52473ca50dd909e0b9","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    FILTER_REPLICATION \u003d (\u0027014\u0027, FILTER_MSG % \u0027ShareReplication\u0027)"},{"line_number":77,"context_line":"    DRIVER_FAILED_EXTEND \u003d ("},{"line_number":78,"context_line":"        \u0027015\u0027,"},{"line_number":79,"context_line":"        _(\"Share Driver failed to extend share.\"))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    ALL \u003d (UNKNOWN_ERROR,"},{"line_number":82,"context_line":"           NO_VALID_HOST,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_90322ac0","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":49},"updated":"2019-11-27 12:04:46.000000000","message":"what about adding this new item as the other messages from line 47 to line 68? in this way, we can keep all the constants in a pattern, and this variable can be reused if someone wants to :)","commit_id":"b6af8e07266511335115e019baffacd92fa2062a"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"3c437e23d4b5e6434b50c933da60d445d03f26fc","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    FILTER_REPLICATION \u003d (\u0027014\u0027, FILTER_MSG % \u0027ShareReplication\u0027)"},{"line_number":77,"context_line":"    DRIVER_FAILED_EXTEND \u003d ("},{"line_number":78,"context_line":"        \u0027015\u0027,"},{"line_number":79,"context_line":"        _(\"Share Driver failed to extend share.\"))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    ALL \u003d (UNKNOWN_ERROR,"},{"line_number":82,"context_line":"           NO_VALID_HOST,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_2e174ff1","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":49},"in_reply_to":"3fa7e38b_90322ac0","updated":"2019-11-28 02:03:53.000000000","message":"To make the distinction between the two patterns intuitive, I optimized their respective error code and made it easier to add new asynchronous errors code about subsequent features.","commit_id":"b6af8e07266511335115e019baffacd92fa2062a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"179d4290b4fd3a25a95cc00df6b60a13971480f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3fa7e38b_dd1b08c8","updated":"2019-12-12 17:31:20.000000000","message":"In general, I don\u0027t see a problem with re-doing the error and action codes in this file; but, it has no direct relationship with the bug you\u0027re trying to fix. Can you please consider splitting this into two changes:\n\n1) Re-assigning the numbers for Actions, errors and filters\n   - Make sure to add an \"upgrade\" note\n\n    We must also make it clear *why* these numbers are\n changing - the error codes itself have not a lot of significance,\n and they must be read along with the message that accompanies\n them; however, since we have a numeric ID in the response\n schema for user messages, we\u0027d have to continue to set\n and include it in the API response when a user lists messages. \n\n2) Fix the missing user message for share extension failures.","commit_id":"75d12b044e8a35664af77b606b49e28e721e8893"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b3138645e1c772b19a7070b32b1baedfb20c53a6","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    FILTER_REPLICATION \u003d (\u0027014\u0027, FILTER_MSG % \u0027ShareReplication\u0027)"},{"line_number":77,"context_line":"    DRIVER_FAILED_EXTEND \u003d ("},{"line_number":78,"context_line":"        \u0027015\u0027,"},{"line_number":79,"context_line":"        _(\"Share Driver failed to extend share.\"))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    ALL \u003d (UNKNOWN_ERROR,"},{"line_number":82,"context_line":"           NO_VALID_HOST,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_893d64bd","line":79,"range":{"start_line":79,"start_character":46,"end_line":79,"end_character":47},"updated":"2020-01-28 01:32:11.000000000","message":"Suggest adding the following, to keep with the purpose of this feature:\n\n \"The share status has been set to \"extending_error\". \n This action cannot be re-attempted until the status has \n been rectified. Contact your administrator to determine \n the cause of this failure.\"\n\n\n\n\nUser messages must let users know what happened, and if possible, what to do - the latter part is important for actions that can be re-attempted by correcting erring request parameters. In this case, no matter what the user attempts, they cannot achieve their goal; so it\u0027s good to let them know of that.","commit_id":"83ed3f31e192c944ffd1c081b6b66723738ecc24"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"f367e1cde5383e771e5199af581ebd10e93d7069","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    FILTER_REPLICATION \u003d (\u0027014\u0027, FILTER_MSG % \u0027ShareReplication\u0027)"},{"line_number":77,"context_line":"    DRIVER_FAILED_EXTEND \u003d ("},{"line_number":78,"context_line":"        \u0027015\u0027,"},{"line_number":79,"context_line":"        _(\"Share Driver failed to extend share.\"))"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    ALL \u003d (UNKNOWN_ERROR,"},{"line_number":82,"context_line":"           NO_VALID_HOST,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_cc522737","line":79,"range":{"start_line":79,"start_character":46,"end_line":79,"end_character":47},"in_reply_to":"3fa7e38b_893d64bd","updated":"2020-02-04 13:30:50.000000000","message":"yes, it will be more useful for user.","commit_id":"83ed3f31e192c944ffd1c081b6b66723738ecc24"}],"releasenotes/notes/bug-1850264-add-async-error-when-share-extend-error-a0c458204b395994.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b3138645e1c772b19a7070b32b1baedfb20c53a6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The database table messages is used to record various asynchronous error"},{"line_number":5,"context_line":"    messages, extend share is an asynchronously invoked procedure, when the"},{"line_number":6,"context_line":"    driver layer fails to execute extend share, we should record this"},{"line_number":7,"context_line":"    asynchronous error into database. This change will record asynchronous"},{"line_number":8,"context_line":"    error when share extend failed at driver layer."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_0e173a56","line":8,"range":{"start_line":4,"start_character":4,"end_line":8,"end_character":51},"updated":"2020-01-28 01:32:11.000000000","message":"This message is written like a commit message rather than a release note. For example, the language \"we should record this\" makes it appear like the correction is yet to be done. \n\nRelease notes are read by deployers and end users; so they must know *what* change has been added to the release succinctly. For example, see how the release notes are rendered for the last release here: https://docs.openstack.org/releasenotes/manila/train.html\n\n\nA more appropriate release note can be:\n\n \"A new user message has been added in case of share extensions failing\n  asynchronously.\"","commit_id":"83ed3f31e192c944ffd1c081b6b66723738ecc24"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"f367e1cde5383e771e5199af581ebd10e93d7069","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The database table messages is used to record various asynchronous error"},{"line_number":5,"context_line":"    messages, extend share is an asynchronously invoked procedure, when the"},{"line_number":6,"context_line":"    driver layer fails to execute extend share, we should record this"},{"line_number":7,"context_line":"    asynchronous error into database. This change will record asynchronous"},{"line_number":8,"context_line":"    error when share extend failed at driver layer."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_f56b2251","line":8,"range":{"start_line":4,"start_character":4,"end_line":8,"end_character":51},"in_reply_to":"3fa7e38b_0e173a56","updated":"2020-02-04 13:30:50.000000000","message":"yes.","commit_id":"83ed3f31e192c944ffd1c081b6b66723738ecc24"}]}
