)]}'
{"ceilometer/storage/__init__.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"4c71ad1439aaa249e27a1f30ce16bd1de6e77941","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        # Set max_retries to 0, since oslo.db in certain cases may attempt"},{"line_number":107,"context_line":"        # to retry making the db connection retried max_retries ^ 2 times"},{"line_number":108,"context_line":"        # in failure case"},{"line_number":109,"context_line":"        conf.set_override(\u0027max_retries\u0027, 0, group\u003d\u0027database\u0027)"},{"line_number":110,"context_line":"        try:"},{"line_number":111,"context_line":"            return get_connection(url, namespace)"},{"line_number":112,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_b9f45087","line":109,"updated":"2015-02-13 08:08:56.000000000","message":"This is not safe to set and unset max_retries, what about concurrency access of get_connection_from_config ? To avoid playing with the oslo.config object I propose a saner way to enforce max_retries for oslo.db: ceilometer/storage/impl_sqlalchemy.py","commit_id":"779bd2bdd1360cfc7cb401e16f4b0f13d958668c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"79b7a4ec4eaf0c679f7e000e08e371d767bb2bae","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        # Set max_retries to 0, since oslo.db in certain cases may attempt"},{"line_number":107,"context_line":"        # to retry making the db connection retried max_retries ^ 2 times"},{"line_number":108,"context_line":"        # in failure case"},{"line_number":109,"context_line":"        conf.set_override(\u0027max_retries\u0027, 0, group\u003d\u0027database\u0027)"},{"line_number":110,"context_line":"        try:"},{"line_number":111,"context_line":"            return get_connection(url, namespace)"},{"line_number":112,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_ac76cb3d","line":109,"in_reply_to":"da86d52c_b9f45087","updated":"2015-02-13 09:01:34.000000000","message":"Done","commit_id":"779bd2bdd1360cfc7cb401e16f4b0f13d958668c"}],"ceilometer/storage/impl_sqlalchemy.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"4c71ad1439aaa249e27a1f30ce16bd1de6e77941","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        AVAILABLE_STORAGE_CAPABILITIES,"},{"line_number":217,"context_line":"    )"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def __init__(self, url):"},{"line_number":220,"context_line":"        self._engine_facade \u003d db_session.EngineFacade("},{"line_number":221,"context_line":"            url,"},{"line_number":222,"context_line":"            **dict(cfg.CONF.database.items())"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_197b9cf5","line":219,"updated":"2015-02-13 08:08:56.000000000","message":"To enforce the max_retries we should do:\n\n    options \u003d dict(cfg.CONF.database.items())\n    options[\u0027max_retries\u0027] \u003d 0\n    self._engine_facade \u003d db_session.EngineFacade(url, **options)","commit_id":"779bd2bdd1360cfc7cb401e16f4b0f13d958668c"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"79b7a4ec4eaf0c679f7e000e08e371d767bb2bae","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        AVAILABLE_STORAGE_CAPABILITIES,"},{"line_number":217,"context_line":"    )"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    def __init__(self, url):"},{"line_number":220,"context_line":"        self._engine_facade \u003d db_session.EngineFacade("},{"line_number":221,"context_line":"            url,"},{"line_number":222,"context_line":"            **dict(cfg.CONF.database.items())"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_2c8bbb1f","line":219,"in_reply_to":"da86d52c_197b9cf5","updated":"2015-02-13 09:01:34.000000000","message":"Done","commit_id":"779bd2bdd1360cfc7cb401e16f4b0f13d958668c"}]}
