)]}'
{"neutron/agent/l3_agent.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"5ad798d687d94e188c1e26df6a2bc0e8392778d6","unresolved":false,"context_lines":[{"line_number":682,"context_line":"        error_ids \u003d []"},{"line_number":683,"context_line":"        for router_id in results:"},{"line_number":684,"context_line":"            try:"},{"line_number":685,"context_line":"                results[router_id].wait()"},{"line_number":686,"context_line":"            except eventlet.greenlet.GreenletExit:"},{"line_number":687,"context_line":"                pass"},{"line_number":688,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FxUM%3D","line":685,"updated":"2014-01-01 20:43:29.000000000","message":"I found the waitall more convenient.\nI think it will still raise if anyone of the spawned thread fails\n\nOtherwise you might consider not using the pool at all if you still feel you should wait for each single greenthread.","commit_id":"f0f6c8244f98c26553881f781cd274764dfa70e3"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"867a6f4f36557c973500e9ff860c9e4e35dba414","unresolved":false,"context_lines":[{"line_number":682,"context_line":"        error_ids \u003d []"},{"line_number":683,"context_line":"        for router_id in results:"},{"line_number":684,"context_line":"            try:"},{"line_number":685,"context_line":"                results[router_id].wait()"},{"line_number":686,"context_line":"            except eventlet.greenlet.GreenletExit:"},{"line_number":687,"context_line":"                pass"},{"line_number":688,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2F2NM%3D","line":685,"in_reply_to":"AAAAT3%2F%2FxUM%3D","updated":"2014-01-07 18:39:15.000000000","message":"+1","commit_id":"f0f6c8244f98c26553881f781cd274764dfa70e3"}],"neutron/tests/unit/test_l3_agent.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"5ad798d687d94e188c1e26df6a2bc0e8392778d6","unresolved":false,"context_lines":[{"line_number":620,"context_line":"            for r in routers:"},{"line_number":621,"context_line":"                process_router.assert_any_call(agent.router_info[r[\u0027id\u0027]])"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"    def test_process_routers_remove(self):"},{"line_number":624,"context_line":"        agent \u003d l3_agent.L3NATAgent(HOSTNAME, self.conf)"},{"line_number":625,"context_line":"        self.plugin_api.get_external_network_id.return_value \u003d None"},{"line_number":626,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FxUI%3D","line":623,"updated":"2014-01-01 20:43:29.000000000","message":"nit: test_process_routers_removed","commit_id":"f0f6c8244f98c26553881f781cd274764dfa70e3"}]}
