)]}'
{"dragonflow/db/api_nb.py":[{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"42d748f047d4cdfd47352046f7f23d557e8921b5","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            except Exception as e:"},{"line_number":165,"context_line":"                if \"ofport is 0\" not in e.message:"},{"line_number":166,"context_line":"                    LOG.exception(e)"},{"line_number":167,"context_line":"                if not sync_rate_limiter():"},{"line_number":168,"context_line":"                    self.apply_db_change(None, None, \u0027sync\u0027, None)"},{"line_number":169,"context_line":"                self._queue.task_done()"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def apply_db_change(self, table, key, action, value):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_faf12796","line":168,"range":{"start_line":167,"start_character":16,"end_line":168,"end_character":66},"updated":"2016-06-24 23:44:58.000000000","message":"I think this block is trying to fix the exception, right? If so we should not drop the failed event simply.\nWe may need to retry several times, then drop if the error remains. Simply dropping the event may cause subsequent events fail","commit_id":"eeade711e198bfa4957d64812c92b6224452a2eb"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"8909c931e6c87f3bd8033f5038d779e458522c61","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            except Exception as e:"},{"line_number":165,"context_line":"                if \"ofport is 0\" not in e.message:"},{"line_number":166,"context_line":"                    LOG.exception(e)"},{"line_number":167,"context_line":"                if not sync_rate_limiter():"},{"line_number":168,"context_line":"                    self.apply_db_change(None, None, \u0027sync\u0027, None)"},{"line_number":169,"context_line":"                self._queue.task_done()"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def apply_db_change(self, table, key, action, value):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_d111505f","line":168,"range":{"start_line":167,"start_character":16,"end_line":168,"end_character":66},"in_reply_to":"3aaa91ec_2de7dfac","updated":"2016-06-28 08:36:23.000000000","message":"@Omer, why we need to call join here?","commit_id":"eeade711e198bfa4957d64812c92b6224452a2eb"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0ebe5ae2056bbe4638efc0a1c197b3b876de80d7","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            except Exception as e:"},{"line_number":165,"context_line":"                if \"ofport is 0\" not in e.message:"},{"line_number":166,"context_line":"                    LOG.exception(e)"},{"line_number":167,"context_line":"                if not sync_rate_limiter():"},{"line_number":168,"context_line":"                    self.apply_db_change(None, None, \u0027sync\u0027, None)"},{"line_number":169,"context_line":"                self._queue.task_done()"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def apply_db_change(self, table, key, action, value):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_2de7dfac","line":168,"range":{"start_line":167,"start_character":16,"end_line":168,"end_character":66},"in_reply_to":"3aaa91ec_40d68c28","updated":"2016-06-27 07:03:33.000000000","message":"I can\u0027t see join on the _queue being called anywhere.\nHowever, as it is - it would be better to call self._queue.task_done() outside the try and except blocks and  remove the duplication.","commit_id":"eeade711e198bfa4957d64812c92b6224452a2eb"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"70dc74018755c15a32834df7015d736ff93719e5","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            except Exception as e:"},{"line_number":165,"context_line":"                if \"ofport is 0\" not in e.message:"},{"line_number":166,"context_line":"                    LOG.exception(e)"},{"line_number":167,"context_line":"                if not sync_rate_limiter():"},{"line_number":168,"context_line":"                    self.apply_db_change(None, None, \u0027sync\u0027, None)"},{"line_number":169,"context_line":"                self._queue.task_done()"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def apply_db_change(self, table, key, action, value):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_40d68c28","line":168,"range":{"start_line":167,"start_character":16,"end_line":168,"end_character":66},"in_reply_to":"3aaa91ec_faf12796","updated":"2016-06-25 01:40:04.000000000","message":"yes the work flow is to fix the problem by a full sync.\nIf the full sync can\u0027t correct it we will leave it there and go on to the next event. The cache consistency mechanism will recover the error by comparing local cache with df db.","commit_id":"eeade711e198bfa4957d64812c92b6224452a2eb"}]}
