)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"864a9eb047e967fd2f74ee6b98a1e969f6ee0800","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     duankebo \u003cduankebo@outlook.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-23 10:29:12 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"If exception occurs when processing a northbound event, one second delay will be introduced, it leads to more exceptions because of the delay. Avalanche will occur then. "},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I2f2635467b8fc5ab816ea4ac355e3e1cc488d5a2"},{"line_number":10,"context_line":"Closes-Bug: #1583992"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab6814e_e83489fc","line":7,"updated":"2016-05-24 06:28:27.000000000","message":"Consider making the commit message title shorter (less than ~72 characters), and adding the rest as a description.","commit_id":"766928b12d32f0ea156b26591424cfdc057c1b59"}],"dragonflow/db/api_nb.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"864a9eb047e967fd2f74ee6b98a1e969f6ee0800","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                                     value)"},{"line_number":177,"context_line":"                self._queue.task_done()"},{"line_number":178,"context_line":"            except Exception as e:"},{"line_number":179,"context_line":"                current_time \u003d time.time()"},{"line_number":180,"context_line":"                if \"ofport is 0\" not in e.message:"},{"line_number":181,"context_line":"                    LOG.exception(e)"},{"line_number":182,"context_line":"                if current_time - last_exception_time \u003e 180:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_a87d61b3","line":179,"updated":"2016-05-24 06:28:27.000000000","message":"Consider using the rate limiter object in: dragonflow.common.utils.RateLimiter.","commit_id":"766928b12d32f0ea156b26591424cfdc057c1b59"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"df6ca1653de2445a2d9d73f46f5467c66623d45b","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                                     value)"},{"line_number":177,"context_line":"                self._queue.task_done()"},{"line_number":178,"context_line":"            except Exception as e:"},{"line_number":179,"context_line":"                current_time \u003d time.time()"},{"line_number":180,"context_line":"                if \"ofport is 0\" not in e.message:"},{"line_number":181,"context_line":"                    LOG.exception(e)"},{"line_number":182,"context_line":"                if current_time - last_exception_time \u003e 180:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_0bfe2705","line":179,"in_reply_to":"bab6814e_a87d61b3","updated":"2016-05-24 06:29:51.000000000","message":"I agree with Omer","commit_id":"766928b12d32f0ea156b26591424cfdc057c1b59"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"02b7b66e4d5d07a95b06c77d2080ee40ed7b7014","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        eventlet.sleep(0)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _read_db_changes_from_queue(self):"},{"line_number":160,"context_line":"        sync_rate_limiter \u003d df_utils.RateLimiter(max_rate\u003d1, time_unit\u003d180)"},{"line_number":161,"context_line":"        while True:"},{"line_number":162,"context_line":"            self.next_update \u003d self._queue.get(block\u003dTrue)"},{"line_number":163,"context_line":"            LOG.debug(\"Event update: %s\", self.next_update)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_7beccf8f","line":160,"range":{"start_line":160,"start_character":0,"end_line":160,"end_character":75},"updated":"2016-05-24 12:16:26.000000000","message":"Consider making these values configurable.","commit_id":"cf8d0ec56d43f1fa8a5727b52fbc8036979b5438"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"8fc03a753c777bcb444a3c66f4648765e0da8246","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        eventlet.sleep(0)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _read_db_changes_from_queue(self):"},{"line_number":160,"context_line":"        sync_rate_limiter \u003d df_utils.RateLimiter(max_rate\u003d1, time_unit\u003d180)"},{"line_number":161,"context_line":"        while True:"},{"line_number":162,"context_line":"            self.next_update \u003d self._queue.get(block\u003dTrue)"},{"line_number":163,"context_line":"            LOG.debug(\"Event update: %s\", self.next_update)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_c01e430b","line":160,"range":{"start_line":160,"start_character":0,"end_line":160,"end_character":75},"in_reply_to":"bab6814e_76dce146","updated":"2016-05-26 01:24:49.000000000","message":"Could we make it as constants, instead of defining them in the function context?","commit_id":"cf8d0ec56d43f1fa8a5727b52fbc8036979b5438"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"9cf6ba43670c520b7fc254c4b39a114379e6f93f","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        eventlet.sleep(0)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _read_db_changes_from_queue(self):"},{"line_number":160,"context_line":"        sync_rate_limiter \u003d df_utils.RateLimiter(max_rate\u003d1, time_unit\u003d180)"},{"line_number":161,"context_line":"        while True:"},{"line_number":162,"context_line":"            self.next_update \u003d self._queue.get(block\u003dTrue)"},{"line_number":163,"context_line":"            LOG.debug(\"Event update: %s\", self.next_update)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_76dce146","line":160,"range":{"start_line":160,"start_character":0,"end_line":160,"end_character":75},"in_reply_to":"bab6814e_7beccf8f","updated":"2016-05-24 13:11:36.000000000","message":"I have thought about this. To a great extent, it is a internal processing parameter. I think most users don\u0027t know how to set this value.","commit_id":"cf8d0ec56d43f1fa8a5727b52fbc8036979b5438"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"0fcc670ef1be8a948e60134e6f117af6136debdb","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        eventlet.sleep(0)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _read_db_changes_from_queue(self):"},{"line_number":160,"context_line":"        sync_rate_limiter \u003d df_utils.RateLimiter(max_rate\u003d1, time_unit\u003d180)"},{"line_number":161,"context_line":"        while True:"},{"line_number":162,"context_line":"            self.next_update \u003d self._queue.get(block\u003dTrue)"},{"line_number":163,"context_line":"            LOG.debug(\"Event update: %s\", self.next_update)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bab6814e_7b2c6802","line":160,"range":{"start_line":160,"start_character":71,"end_line":160,"end_character":74},"updated":"2016-05-26 02:09:20.000000000","message":"DB_SYNC_MINIMUM_INTERVAL?","commit_id":"3a4dd9dc4b4e4f24404f9cde72cc05d1437e39d3"}]}
