)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a1a803dd0c489757b0f7120356175aafb04d35a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bogdan Dobrelya \u003cbdobreli@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-04 17:49:00 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow infinit retrying on the expected db errors"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When max_retries \u003d\u003d -1, retrying becomes infinit."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1fa4df85_0ccb9672","line":7,"range":{"start_line":7,"start_character":6,"end_line":7,"end_character":13},"updated":"2020-03-11 14:52:50.000000000","message":"infinite","commit_id":"1e055d30d9781b35f6875da4f97fc8331c6a7d52"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a1a803dd0c489757b0f7120356175aafb04d35a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow infinit retrying on the expected db errors"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When max_retries \u003d\u003d -1, retrying becomes infinit."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Story: 2007328"},{"line_number":12,"context_line":"task: 38849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1fa4df85_acc7e264","line":9,"range":{"start_line":9,"start_character":41,"end_line":9,"end_character":48},"updated":"2020-03-11 14:52:50.000000000","message":"infinite","commit_id":"1e055d30d9781b35f6875da4f97fc8331c6a7d52"}],"oslo_db/api.py":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"196fc4a9796b0aa9d055ded83c2c672b61467522","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                except Exception as e:"},{"line_number":145,"context_line":"                    with excutils.save_and_reraise_exception() as ectxt:"},{"line_number":146,"context_line":"                        expected \u003d self._is_exception_expected(e)"},{"line_number":147,"context_line":"                        if remaining \u003e 0 or remaining \u003d\u003d -1:"},{"line_number":148,"context_line":"                            ectxt.reraise \u003d not expected"},{"line_number":149,"context_line":"                        else:"},{"line_number":150,"context_line":"                            if expected:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_78fb4e46","line":147,"range":{"start_line":147,"start_character":44,"end_line":147,"end_character":53},"updated":"2020-03-04 13:36:06.000000000","message":"Another approach could be to use `self.max_retries` here, in this case you don\u0027t need to take care if we need to decrement the value of `remaining` few lines below.\n\nBut the current version is fine.","commit_id":"9712d43bdd924ccc55565627eeb937caa72bd62f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a1a803dd0c489757b0f7120356175aafb04d35a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    :param retry_interval: seconds between transaction retries"},{"line_number":94,"context_line":"    :type retry_interval: int or float"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    :param max_retries: max number of retries (-1 is for infinite retrying)"},{"line_number":97,"context_line":"           before an error is raised"},{"line_number":98,"context_line":"    :type max_retries: int"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    :param inc_retry_interval: determine increase retry interval or not"}],"source_content_type":"text/x-python","patch_set":2,"id":"1fa4df85_4cb98ee7","line":97,"range":{"start_line":96,"start_character":0,"end_line":97,"end_character":36},"updated":"2020-03-11 14:52:50.000000000","message":"Try:\n\n  :param max_retries: max number of retries before an error is raised;\n      -1 to retry infinitely","commit_id":"1e055d30d9781b35f6875da4f97fc8331c6a7d52"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a1a803dd0c489757b0f7120356175aafb04d35a","unresolved":false,"context_lines":[{"line_number":175,"context_line":"                    if remaining \u003e 0:"},{"line_number":176,"context_line":"                        remaining -\u003d 1"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        return wrapper"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def _is_exception_expected(self, exc):"},{"line_number":181,"context_line":"        if isinstance(exc, self.db_error):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1fa4df85_0ce2b602","line":178,"updated":"2020-03-11 14:52:50.000000000","message":"Could we get tests for this, please? :)","commit_id":"1e055d30d9781b35f6875da4f97fc8331c6a7d52"}],"releasenotes/notes/wrap_db_retry-84e53d810bcebb9f.yaml":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"196fc4a9796b0aa9d055ded83c2c672b61467522","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---                                                                                                                                                                               "},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"    - Decorator ``oslo_db.api.wrap_db_retry`` allows infinit retrying, when"},{"line_number":4,"context_line":"      ``max_retries`` is set to -1."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1fa4df85_b88a26bc","line":1,"range":{"start_line":1,"start_character":2,"end_line":1,"end_character":40},"updated":"2020-03-04 13:36:06.000000000","message":"white space","commit_id":"9712d43bdd924ccc55565627eeb937caa72bd62f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a1a803dd0c489757b0f7120356175aafb04d35a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---                                                                                                                                                                               "},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"    - Decorator ``oslo_db.api.wrap_db_retry`` allows infinite retrying, when"},{"line_number":4,"context_line":"      ``max_retries`` is set to -1."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1fa4df85_cc16def2","line":1,"updated":"2020-03-11 14:52:50.000000000","message":"Whitespace damage","commit_id":"1e055d30d9781b35f6875da4f97fc8331c6a7d52"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a1a803dd0c489757b0f7120356175aafb04d35a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---                                                                                                                                                                               "},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"    - Decorator ``oslo_db.api.wrap_db_retry`` allows infinite retrying, when"},{"line_number":4,"context_line":"      ``max_retries`` is set to -1."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1fa4df85_8cd6a627","line":2,"updated":"2020-03-11 14:52:50.000000000","message":"Is this really a fix or a feature? It reads like the latter","commit_id":"1e055d30d9781b35f6875da4f97fc8331c6a7d52"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"4cfb6d68818ef84c60dd3dd8d2cd6abc1d44761f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---                                                                                                                                                                               "},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"    - Decorator ``oslo_db.api.wrap_db_retry`` allows infinite retrying, when"},{"line_number":4,"context_line":"      ``max_retries`` is set to -1."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1fa4df85_82318fa5","line":2,"in_reply_to":"1fa4df85_8cd6a627","updated":"2020-03-11 15:48:26.000000000","message":"To me that looks like a fix, based on the generally established user experience for arbitrary limiting values tend to always imply a -1 is for infinite and 0 is for the disabled state. It\u0027s so much broadly used pretty much everywhere that I\u0027d call that an expectation, not a feature.","commit_id":"1e055d30d9781b35f6875da4f97fc8331c6a7d52"}]}
