)]}'
{"neutron/agent/l3_agent.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"d43d52622fa18e276c711a0c1c0e198063957d3c","unresolved":false,"context_lines":[{"line_number":1863,"context_line":"                                                      [self.conf.router_id])"},{"line_number":1864,"context_line":""},{"line_number":1865,"context_line":"        except n_rpc.RPCException:"},{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_cc71830d","line":1866,"updated":"2014-10-27 10:31:45.000000000","message":"_() \u003d\u003d\u003e _LE()","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"cbe274f14ce0ac33b599fb367e5830073529bb95","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"        except n_rpc.RPCException:"},{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"},{"line_number":1870,"context_line":"            self.fullsync \u003d True"},{"line_number":1871,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_b5595b00","line":1868,"updated":"2014-10-21 22:04:17.000000000","message":"I honestly don\u0027t think that this broad expect clause is needed anymore.  I hesitate to remove it in this patch until I know for sure.  For now, I\u0027ll add a TODO in the next patch.","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"d43d52622fa18e276c711a0c1c0e198063957d3c","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"        except n_rpc.RPCException:"},{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"},{"line_number":1870,"context_line":"            self.fullsync \u003d True"},{"line_number":1871,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_cc7b43bc","line":1868,"in_reply_to":"9aa7fdbe_0e482386","updated":"2014-10-27 10:31:45.000000000","message":"According to the implementation[1] and it is called[2][3], an uncaught exception will not kill the periodic task ...but +1 to remove it in a specific patch\n\n\n[1]https://github.com/openstack/neutron/blob/master/neutron/openstack/common/periodic_task.py#L197-L203\n[2]https://github.com/openstack/neutron/blob/dd238d0aac25ffec2734c75a7f893040ec42eb7b/neutron/service.py#L220\n[3]https://github.com/openstack/neutron/blob/e693d5be177184264d1647919466fdc5a5ebd26d/neutron/manager.py#L44-L45","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"c7184b5f0666d5ff6dc107e216ecfd0dcf25a9e3","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"        except n_rpc.RPCException:"},{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"},{"line_number":1870,"context_line":"            self.fullsync \u003d True"},{"line_number":1871,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_ba97df46","line":1868,"in_reply_to":"9aa7fdbe_2c120f62","updated":"2014-10-28 17:38:37.000000000","message":"I think I summed it up here [1] so that we can continue the discussion there if there is more to say.\n\n[1] https://review.openstack.org/131510","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"054dbedfcb640321813ed48616eaa8ebaa1cf065","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"        except n_rpc.RPCException:"},{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"},{"line_number":1870,"context_line":"            self.fullsync \u003d True"},{"line_number":1871,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_d878b391","line":1868,"in_reply_to":"9aa7fdbe_b5595b00","updated":"2014-10-22 18:49:07.000000000","message":"After narrowing down the attack surface the broad exception might no longer make sense, but we need to assess whether any uncaught exception will kill the periodic task; that would be bad.","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"85eeed3bc385aba3f846a3de6a35b52f632999af","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"        except n_rpc.RPCException:"},{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"},{"line_number":1870,"context_line":"            self.fullsync \u003d True"},{"line_number":1871,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_8236d550","line":1868,"in_reply_to":"9aa7fdbe_b5595b00","updated":"2014-10-22 05:03:43.000000000","message":"My hesitation is the opposite: I think we shouldn\u0027t use this broad exception unless we can show that we need to. I am not going to -1 for this but would be interested to hear what others think.","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"20ce1027aaa033a74fce985e99ef48ec3005d918","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"        except n_rpc.RPCException:"},{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"},{"line_number":1870,"context_line":"            self.fullsync \u003d True"},{"line_number":1871,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_2c120f62","line":1868,"in_reply_to":"9aa7fdbe_cc7b43bc","updated":"2014-10-27 10:33:39.000000000","message":"but in such case (uncaught exception) we should still update self.fullsync to True","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"b8d224329bcba22ccb70e84876cc13a8560c6772","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"        except n_rpc.RPCException:"},{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"},{"line_number":1870,"context_line":"            self.fullsync \u003d True"},{"line_number":1871,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_0e482386","line":1868,"in_reply_to":"9aa7fdbe_d878b391","updated":"2014-10-23 12:12:48.000000000","message":"+1 for adding TODO comment and assessing with another patch.","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"d43d52622fa18e276c711a0c1c0e198063957d3c","unresolved":false,"context_lines":[{"line_number":1866,"context_line":"            LOG.exception(_(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1867,"context_line":"            self.fullsync \u003d True"},{"line_number":1868,"context_line":"        except Exception:"},{"line_number":1869,"context_line":"            LOG.exception(_(\"Failed synchronizing routers\"))"},{"line_number":1870,"context_line":"            self.fullsync \u003d True"},{"line_number":1871,"context_line":"        else:"},{"line_number":1872,"context_line":"            LOG.debug(_(\u0027Processing :%r\u0027), routers)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_0c670b4e","line":1869,"updated":"2014-10-27 10:31:45.000000000","message":"itto","commit_id":"4cf50b9bbc8292b766f48746c009e162babb9e17"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8b8dd96531441e670a4fe23fa42c5ff399496913","unresolved":false,"context_lines":[{"line_number":1872,"context_line":"                routers \u003d self.plugin_rpc.get_routers(context,"},{"line_number":1873,"context_line":"                                                      [self.conf.router_id])"},{"line_number":1874,"context_line":""},{"line_number":1875,"context_line":"        except n_rpc.RPCException:"},{"line_number":1876,"context_line":"            LOG.exception(_LE(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1877,"context_line":"            self.fullsync \u003d True"},{"line_number":1878,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_696da9cc","line":1875,"updated":"2014-10-29 05:34:35.000000000","message":"Can you just put these to \u0027except\u0027 statements together and check to the type with isinstance to determine the log messages? The logic is the same otherwise.","commit_id":"0d211c395935a0390e138a35203d1b42e82e1c2a"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"1ae382767725ebeefbb98d936a6c2788b15b0e3a","unresolved":false,"context_lines":[{"line_number":1872,"context_line":"                routers \u003d self.plugin_rpc.get_routers(context,"},{"line_number":1873,"context_line":"                                                      [self.conf.router_id])"},{"line_number":1874,"context_line":""},{"line_number":1875,"context_line":"        except n_rpc.RPCException:"},{"line_number":1876,"context_line":"            LOG.exception(_LE(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1877,"context_line":"            self.fullsync \u003d True"},{"line_number":1878,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_ae3dd22e","line":1875,"in_reply_to":"9aa7fdbe_696da9cc","updated":"2014-10-29 09:28:49.000000000","message":"\"except Exception:\" will be removed in https://review.openstack.org/131510","commit_id":"0d211c395935a0390e138a35203d1b42e82e1c2a"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"2c7844d1e52820f7d1c8418ac856f94b29171f74","unresolved":false,"context_lines":[{"line_number":1872,"context_line":"                routers \u003d self.plugin_rpc.get_routers(context,"},{"line_number":1873,"context_line":"                                                      [self.conf.router_id])"},{"line_number":1874,"context_line":""},{"line_number":1875,"context_line":"        except n_rpc.RPCException:"},{"line_number":1876,"context_line":"            LOG.exception(_LE(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1877,"context_line":"            self.fullsync \u003d True"},{"line_number":1878,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aa7fdbe_30ee94b5","line":1875,"in_reply_to":"9aa7fdbe_ae3dd22e","updated":"2014-10-29 15:22:43.000000000","message":"Kevin, all good ideas.  I had a little bit different idea for this as Cedric mentioned and since it involves removing the broader Exception clause, I decided it would go better in a separate patch.","commit_id":"0d211c395935a0390e138a35203d1b42e82e1c2a"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"ff7dbaf0ed674ccf3863e2047dfa9c0a923a98dd","unresolved":false,"context_lines":[{"line_number":1859,"context_line":"                routers \u003d self.plugin_rpc.get_routers(context,"},{"line_number":1860,"context_line":"                                                      [self.conf.router_id])"},{"line_number":1861,"context_line":""},{"line_number":1862,"context_line":"        except n_rpc.RPCException:"},{"line_number":1863,"context_line":"            LOG.exception(_LE(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1864,"context_line":"            self.fullsync \u003d True"},{"line_number":1865,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_156e9301","line":1862,"updated":"2014-11-21 02:44:54.000000000","message":"this seems like a merge botch.","commit_id":"81c35bb891251b0023349abba0974b05a0add40d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"3c0c1f7bacfac23b848055ecb87ec88189ca9c1f","unresolved":false,"context_lines":[{"line_number":1859,"context_line":"                routers \u003d self.plugin_rpc.get_routers(context,"},{"line_number":1860,"context_line":"                                                      [self.conf.router_id])"},{"line_number":1861,"context_line":""},{"line_number":1862,"context_line":"        except n_rpc.RPCException:"},{"line_number":1863,"context_line":"            LOG.exception(_LE(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1864,"context_line":"            self.fullsync \u003d True"},{"line_number":1865,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_46714fdf","line":1862,"in_reply_to":"5a890539_156e9301","updated":"2014-11-21 05:15:02.000000000","message":"Good catch.  Automatic merge failure.","commit_id":"81c35bb891251b0023349abba0974b05a0add40d"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"3a03be0e0ff4f447595c8b44382e07fc36889482","unresolved":false,"context_lines":[{"line_number":1859,"context_line":"                routers \u003d self.plugin_rpc.get_routers(context,"},{"line_number":1860,"context_line":"                                                      [self.conf.router_id])"},{"line_number":1861,"context_line":""},{"line_number":1862,"context_line":"        except n_rpc.RPCException:"},{"line_number":1863,"context_line":"            LOG.exception(_LE(\"Failed synchronizing routers due to RPC error\"))"},{"line_number":1864,"context_line":"            self.fullsync \u003d True"},{"line_number":1865,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_9a71c746","line":1862,"in_reply_to":"5a890539_46714fdf","updated":"2014-11-21 09:15:04.000000000","message":"Done","commit_id":"81c35bb891251b0023349abba0974b05a0add40d"}]}
