)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10987,"name":"Igor Degtiarov","username":"tovstun","inactive":true},"change_message_id":"7bad807207b1d295de52fd7c7e3fe0ac28eeaeae","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"DocImpact"},{"line_number":17,"context_line":"Change-Id: Ie3b7d966f068611e3fb60089b724f1a4c02f771e"},{"line_number":18,"context_line":"loses-Bug: #1489949"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7a740942_d3f4035c","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":5},"updated":"2015-12-08 14:36:52.000000000","message":"Do we really lose this bug :)","commit_id":"c20dc5f8668ae542f633562db2a89ba981c7f54a"}],"ceilometer/dispatcher/__init__.py":[{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"a81b028a739a2c6adb86f33ee948fc6391558928","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    cfg.IntOpt(\u0027retry_interval\u0027,"},{"line_number":47,"context_line":"               default\u003d10,"},{"line_number":48,"context_line":"               deprecated_group\u003d\u0027database\u0027,"},{"line_number":49,"context_line":"               help\u003d\u0027Interval between retries of connection.\u0027),"},{"line_number":50,"context_line":"]"},{"line_number":51,"context_line":"cfg.CONF.register_opts(STORAGE_OPTS, group\u003d\u0027storage\u0027)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_2ea06341","line":49,"updated":"2015-12-14 15:29:52.000000000","message":"Should express units, to be explicit about it.","commit_id":"8779ae87d7cb13bff8e062cc9097bad4d7b8f55a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"c5c376117901d69ec9db64ddd5f173946ce4b5f2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    cfg.IntOpt(\u0027retry_interval\u0027,"},{"line_number":47,"context_line":"               default\u003d10,"},{"line_number":48,"context_line":"               deprecated_group\u003d\u0027database\u0027,"},{"line_number":49,"context_line":"               help\u003d\u0027Interval between retries of connection.\u0027),"},{"line_number":50,"context_line":"]"},{"line_number":51,"context_line":"cfg.CONF.register_opts(STORAGE_OPTS, group\u003d\u0027storage\u0027)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_ef6575e0","line":49,"in_reply_to":"7a740942_2ea06341","updated":"2015-12-14 15:58:50.000000000","message":"sure thing","commit_id":"8779ae87d7cb13bff8e062cc9097bad4d7b8f55a"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"cac2dae0c86fa3ecf9f252f052fe0b65a5a66a2e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    cfg.IntOpt(\u0027retry_interval\u0027,"},{"line_number":47,"context_line":"               default\u003d10,"},{"line_number":48,"context_line":"               deprecated_group\u003d\u0027database\u0027,"},{"line_number":49,"context_line":"               help\u003d\u0027Interval between retries of connection.\u0027),"},{"line_number":50,"context_line":"]"},{"line_number":51,"context_line":"cfg.CONF.register_opts(STORAGE_OPTS, group\u003d\u0027storage\u0027)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a710552_7d31fea1","line":49,"updated":"2015-12-15 10:15:41.000000000","message":"this needs a unit","commit_id":"5d7e6aea1e8df07d3cfb4e415e1fd8ce806afe86"}],"ceilometer/dispatcher/gnocchi.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"6fdb26db9c2a03472917caf87f41f91ee88208a2","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        self._gnocchi \u003d gnocchi_client.Client(conf)"},{"line_number":187,"context_line":"        # Convert retry_interval secs to msecs for retry decorator"},{"line_number":188,"context_line":"        retries \u003d conf.database.max_retries"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        @retrying.retry(wait_fixed\u003dconf.database.retry_interval * 1000,"},{"line_number":191,"context_line":"                        stop_max_attempt_number\u003d(retries if retries \u003e\u003d 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_b40c3a3c","line":188,"updated":"2015-12-04 20:53:21.000000000","message":"I understand that gnocchi here plays the same role as a DB for a data sink store. But using this configuration in database group from oslo.db here seems still a little bit odd to me, since this is dispatcher which should be layered above db stuff. How about adding a new configuration default to database.max_retries?","commit_id":"d677c5cf48f526df631811cd121b0f8622215e96"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"78a7132186f2a1a9edced8b9d33e83dd49888260","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        @retrying.retry(wait_fixed\u003dconf.storage.retry_interval * 1000,"},{"line_number":190,"context_line":"                        stop_max_attempt_number\u003d(retries if retries \u003e\u003d 0"},{"line_number":191,"context_line":"                                                 else None))"},{"line_number":192,"context_line":"        def _get_connection():"},{"line_number":193,"context_line":"            self._gnocchi.capabilities.list()"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_35e716ae","line":191,"updated":"2015-12-09 21:49:34.000000000","message":"IIUC, oslo_db has an wrap_db_retry decorator, the sqlalchemy storage driver uses it: https://github.com/openstack/ceilometer/blob/master/ceilometer/storage/impl_sqlalchemy.py#L323, but i guess in this case, we want to retry connecting to another service(which is a storage backend for ceilometer). Nevertheless, the behavior of either one are the same in this scenario, i think.","commit_id":"8779ae87d7cb13bff8e062cc9097bad4d7b8f55a"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"ed0507b06afe2e2a67ebdd1c9ac37f7feed91f48","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        @retrying.retry(wait_fixed\u003dconf.storage.retry_interval * 1000,"},{"line_number":190,"context_line":"                        stop_max_attempt_number\u003d(retries if retries \u003e\u003d 0"},{"line_number":191,"context_line":"                                                 else None))"},{"line_number":192,"context_line":"        def _get_connection():"},{"line_number":193,"context_line":"            self._gnocchi.capabilities.list()"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a740942_2451e2d8","line":191,"in_reply_to":"7a740942_35e716ae","updated":"2015-12-10 21:39:53.000000000","message":"yeah, i thought about that. the problem is that oslo.db is very sql specific (all their help messages also reference sql as well). last time we reused oslo.db functionality across non-sql db, we got a few comments in previous cycles wondering why the messages kept referencing sql","commit_id":"8779ae87d7cb13bff8e062cc9097bad4d7b8f55a"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"a139ced424c9ca4f983a9b37f84a3caf5b3aef06","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        try:"},{"line_number":211,"context_line":"            _get_connection()"},{"line_number":212,"context_line":"        except Exception:"},{"line_number":213,"context_line":"            LOG.error(_LE(\u0027Failed to connect to Gnocchi.\u0027))"},{"line_number":214,"context_line":"            raise"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a710552_ac893f28","line":213,"updated":"2015-12-16 06:44:31.000000000","message":"It might be better if we log the exception message as well","commit_id":"152aa1af01769841956da1bc0225bde88b80af08"}]}
