)]}'
{"dragonflow/controller/topology.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"3e1320ef993ac75143d42880d80a74a6e7a0d7f2","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self.topic_subscribed[topic].add(lport_id)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    def _del_from_topic_subscribed(self, topic, lport_id):"},{"line_number":244,"context_line":"        if not self.enable_selective_topo_dist:"},{"line_number":245,"context_line":"            return"},{"line_number":246,"context_line":"        port_ids \u003d self.topic_subscribed[topic]"},{"line_number":247,"context_line":"        port_ids.remove(lport_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_b51b5272","line":244,"range":{"start_line":244,"start_character":8,"end_line":244,"end_character":47},"updated":"2016-11-10 13:32:58.000000000","message":"Since you update _add_to_topic_subscribed, why not also change here?","commit_id":"1116683a7c4cbe35eb29ae1727a8dff3a8d315d0"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"6702d2473e517444ee1a131de3a200d41ba971ce","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            self.topic_subscribed[topic].add(lport_id)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    def _del_from_topic_subscribed(self, topic, lport_id):"},{"line_number":244,"context_line":"        if not self.enable_selective_topo_dist:"},{"line_number":245,"context_line":"            return"},{"line_number":246,"context_line":"        port_ids \u003d self.topic_subscribed[topic]"},{"line_number":247,"context_line":"        port_ids.remove(lport_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_002fd0f6","line":244,"range":{"start_line":244,"start_character":8,"end_line":244,"end_character":47},"in_reply_to":"9a629dbe_b51b5272","updated":"2016-11-30 03:22:06.000000000","message":"Done","commit_id":"1116683a7c4cbe35eb29ae1727a8dff3a8d315d0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"675a751a8f2250d6b001c0a459f241066e0ea5a2","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            self.topic_subscribed[topic].add(lport_id)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def _del_from_topic_subscribed(self, topic, lport_id):"},{"line_number":245,"context_line":"        if not self.enable_selective_topo_dist or topic:"},{"line_number":246,"context_line":"            return"},{"line_number":247,"context_line":"        port_ids \u003d self.topic_subscribed[topic]"},{"line_number":248,"context_line":"        port_ids.remove(lport_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a74a57a_c29265f6","line":245,"range":{"start_line":245,"start_character":50,"end_line":245,"end_character":55},"updated":"2016-11-30 03:56:47.000000000","message":"not topic?","commit_id":"0f51a7d79563da881b55b55ae0af60156b1e4582"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"0fe189b3f620980d51fa87d9d1b60b4b403b59e4","unresolved":false,"context_lines":[{"line_number":229,"context_line":"            self._del_from_topic_subscribed(topic, lport_id)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def _add_to_topic_subscribed(self, topic, lport_id):"},{"line_number":232,"context_line":"        if not self.enable_selective_topo_dist or not topic:"},{"line_number":233,"context_line":"            return"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if topic not in self.topic_subscribed:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a74a57a_071a996e","line":232,"updated":"2016-11-30 12:39:06.000000000","message":"not sure this addition is needed, please check my next comment","commit_id":"ebe3f91525174d4a109190d1f253d1d4801601f2"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"1c25ee8dd9ea25e21aea4b96cf57b8c7d6a26f5d","unresolved":false,"context_lines":[{"line_number":229,"context_line":"            self._del_from_topic_subscribed(topic, lport_id)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def _add_to_topic_subscribed(self, topic, lport_id):"},{"line_number":232,"context_line":"        if not self.enable_selective_topo_dist or not topic:"},{"line_number":233,"context_line":"            return"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if topic not in self.topic_subscribed:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a74a57a_dba3194e","line":232,"in_reply_to":"5a74a57a_071a996e","updated":"2016-11-30 14:16:58.000000000","message":"yes, you are right, we can check it outside which could prevent the corresponding meaningless lport dispatched to app, thx a lot:)","commit_id":"ebe3f91525174d4a109190d1f253d1d4801601f2"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"e58828875a0d8bec88d03a7d41ac15d0abc1f305","unresolved":false,"context_lines":[{"line_number":229,"context_line":"            self._del_from_topic_subscribed(topic, lport_id)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def _add_to_topic_subscribed(self, topic, lport_id):"},{"line_number":232,"context_line":"        if not self.enable_selective_topo_dist or not topic:"},{"line_number":233,"context_line":"            return"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if topic not in self.topic_subscribed:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a74a57a_e19d845a","line":232,"in_reply_to":"5a74a57a_dba3194e","updated":"2016-11-30 14:48:28.000000000","message":"I think maybe keep the judge here is also reasonable which promise meaningless topic will not be subscribed no matter whether you do the judge outside this method or not.","commit_id":"ebe3f91525174d4a109190d1f253d1d4801601f2"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"7dec5d4726a449587445f65bc0ff47319cde8c86","unresolved":false,"context_lines":[{"line_number":229,"context_line":"            self._del_from_topic_subscribed(topic, lport_id)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def _add_to_topic_subscribed(self, topic, lport_id):"},{"line_number":232,"context_line":"        if not self.enable_selective_topo_dist or not topic:"},{"line_number":233,"context_line":"            return"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if topic not in self.topic_subscribed:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_ce53046a","line":232,"in_reply_to":"5a74a57a_e19d845a","updated":"2016-12-05 07:44:24.000000000","message":"since its internal method and supposed to be called with valid args, I  think it shouldn\u0027t internally verify topic, especially when method is called \u0027add_to_topic_\u0027","commit_id":"ebe3f91525174d4a109190d1f253d1d4801601f2"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"0fe189b3f620980d51fa87d9d1b60b4b403b59e4","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            self.topic_subscribed[topic].add(lport_id)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def _del_from_topic_subscribed(self, topic, lport_id):"},{"line_number":245,"context_line":"        if not self.enable_selective_topo_dist or not topic:"},{"line_number":246,"context_line":"            return"},{"line_number":247,"context_line":"        port_ids \u003d self.topic_subscribed[topic]"},{"line_number":248,"context_line":"        port_ids.remove(lport_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a74a57a_472ad17f","line":245,"updated":"2016-11-30 12:39:06.000000000","message":"ditto","commit_id":"ebe3f91525174d4a109190d1f253d1d4801601f2"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"5e96e95a34e03b521d3477714ab7c8adb1314e48","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            self.topic_subscribed[topic].add(lport_id)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"    def _del_from_topic_subscribed(self, topic, lport_id):"},{"line_number":245,"context_line":"        if not self.enable_selective_topo_dist or not topic:"},{"line_number":246,"context_line":"            return"},{"line_number":247,"context_line":"        port_ids \u003d self.topic_subscribed[topic]"},{"line_number":248,"context_line":"        port_ids.remove(lport_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a74a57a_e1802449","line":245,"in_reply_to":"5a74a57a_472ad17f","updated":"2016-11-30 14:43:40.000000000","message":"I don\u0027t want to delete the judge here because if you find the places that invoke this method, you\u0027ll find it\u0027s better to judge in it.","commit_id":"ebe3f91525174d4a109190d1f253d1d4801601f2"},{"author":{"_account_id":6598,"name":"Berezovsky Irena","email":"irenab.dev@gmail.com","username":"irenab"},"change_message_id":"0fe189b3f620980d51fa87d9d1b60b4b403b59e4","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                    LOG.warning(_LW(\"No logical port found for ovs port: %s\"),"},{"line_number":328,"context_line":"                                ovs_port)"},{"line_number":329,"context_line":"                    continue"},{"line_number":330,"context_line":"                topic \u003d lport.get_topic()"},{"line_number":331,"context_line":"                new_ovs_to_lport_mapping[key] \u003d {"},{"line_number":332,"context_line":"                    \u0027lport_id\u0027: lport_id, \u0027topic\u0027: topic}"},{"line_number":333,"context_line":"                if not delete_ovs_to_lport_mapping.pop(key, None):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a74a57a_27feb505","line":330,"updated":"2016-11-30 12:39:06.000000000","message":"in case topic is none, the entry can skipped, so not need to invoke _add/del_to_topic_subscribed at all","commit_id":"ebe3f91525174d4a109190d1f253d1d4801601f2"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"1c25ee8dd9ea25e21aea4b96cf57b8c7d6a26f5d","unresolved":false,"context_lines":[{"line_number":327,"context_line":"                    LOG.warning(_LW(\"No logical port found for ovs port: %s\"),"},{"line_number":328,"context_line":"                                ovs_port)"},{"line_number":329,"context_line":"                    continue"},{"line_number":330,"context_line":"                topic \u003d lport.get_topic()"},{"line_number":331,"context_line":"                new_ovs_to_lport_mapping[key] \u003d {"},{"line_number":332,"context_line":"                    \u0027lport_id\u0027: lport_id, \u0027topic\u0027: topic}"},{"line_number":333,"context_line":"                if not delete_ovs_to_lport_mapping.pop(key, None):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a74a57a_1b8671b9","line":330,"in_reply_to":"5a74a57a_27feb505","updated":"2016-11-30 14:16:58.000000000","message":"Done","commit_id":"ebe3f91525174d4a109190d1f253d1d4801601f2"}]}
