)]}'
{"networking_odl/common/websocket_client.py":[{"author":{"_account_id":26507,"name":"Michel Peterson","email":"michel@redhat.com","username":"mpeterson"},"change_message_id":"9844c7fd8792c2dcd1c8e4c151660a3a08ac57a8","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                self.set_exit_flag()"},{"line_number":111,"context_line":"            # connect if necessary"},{"line_number":112,"context_line":"            if ws is None:"},{"line_number":113,"context_line":"                ws \u003d self._connect_ws()"},{"line_number":114,"context_line":"                if ws is None:"},{"line_number":115,"context_line":"                    time.sleep(cfg.CONF.ml2_odl.restconf_poll_interval)"},{"line_number":116,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_9cfa7e0e","line":113,"updated":"2018-11-11 15:04:55.000000000","message":"The rest of the patch LGTM, in general. But I think this makes it even worse. I think we should harden the thread even more against dying. _connect_ws triggers a lot of things, including a call back that\u0027s out of our control (!!). So allowing to do it without a try/except I feel is a BAD BAD idea. I would probably make the error handling broader rather than narrow it. What do you think?","commit_id":"fac62142e3136748429682d17be740f0d3406e12"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"15619e7a380627ccb0f58245f69c40c2cd7e1d47","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                    ws \u003d self._connect_ws()"},{"line_number":115,"context_line":"                except Exception:"},{"line_number":116,"context_line":"                    LOG.error(\"Error while connecting websocket\","},{"line_number":117,"context_line":"                              exc_info\u003dTrue)"},{"line_number":118,"context_line":"                if ws is None:"},{"line_number":119,"context_line":"                    time.sleep(cfg.CONF.ml2_odl.restconf_poll_interval)"},{"line_number":120,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_88d9c728","line":117,"range":{"start_line":117,"start_character":30,"end_line":117,"end_character":43},"updated":"2018-11-13 06:54:19.000000000","message":"I don\u0027t think this adds anything.\nIf you\u0027re expecting an exception and not terminating, this will flood the log with stacktraces.","commit_id":"60cff9c86f3e6b0cd5d3a53cca9d2652b335523e"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"15619e7a380627ccb0f58245f69c40c2cd7e1d47","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            LOG.warning(\"websocket connection failed, \""},{"line_number":203,"context_line":"                        \"create-data-change-event-subscription \""},{"line_number":204,"context_line":"                        \"returned %i\", e.response.status_code,"},{"line_number":205,"context_line":"                        exc_info\u003dTrue)"},{"line_number":206,"context_line":"            return None"},{"line_number":207,"context_line":"        except Exception:"},{"line_number":208,"context_line":"            LOG.error(\"websocket subscription failed\", exc_info\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_e84cfbcb","line":205,"range":{"start_line":205,"start_character":24,"end_line":205,"end_character":37},"updated":"2018-11-13 06:54:19.000000000","message":"ditto","commit_id":"60cff9c86f3e6b0cd5d3a53cca9d2652b335523e"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"15619e7a380627ccb0f58245f69c40c2cd7e1d47","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            LOG.warning(\"websocket connection failed, \""},{"line_number":229,"context_line":"                        \"stream subscription \""},{"line_number":230,"context_line":"                        \"returned %i\", e.response.status_code,"},{"line_number":231,"context_line":"                        exc_info\u003dTrue)"},{"line_number":232,"context_line":"            return None"},{"line_number":233,"context_line":"        except ValueError:"},{"line_number":234,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_28de730f","line":231,"range":{"start_line":231,"start_character":24,"end_line":231,"end_character":37},"updated":"2018-11-13 06:54:19.000000000","message":"Ditto","commit_id":"60cff9c86f3e6b0cd5d3a53cca9d2652b335523e"}]}
