)]}'
{"vitrage/api_handler/apis/operational.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"83e99a86b709da8919648264c1439d91a8e6b570","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def is_alive(self, ctx):"},{"line_number":28,"context_line":"        try:"},{"line_number":29,"context_line":"            if self.graph and self.graph.num_vertices():"},{"line_number":30,"context_line":"                return True"},{"line_number":31,"context_line":"            return False"},{"line_number":32,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_3e851b03","line":29,"range":{"start_line":29,"start_character":41,"end_line":29,"end_character":53},"updated":"2018-12-13 17:20:56.000000000","message":"What if there are vertices in the graph, but not all events were loaded from the database yet?","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"6ed4eec84e579fa46848612f26d1be3bd30e57b3","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def is_alive(self, ctx):"},{"line_number":28,"context_line":"        try:"},{"line_number":29,"context_line":"            if self.graph and self.graph.num_vertices():"},{"line_number":30,"context_line":"                return True"},{"line_number":31,"context_line":"            return False"},{"line_number":32,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_75eced26","line":29,"range":{"start_line":29,"start_character":41,"end_line":29,"end_character":53},"in_reply_to":"3f79a3b5_3e851b03","updated":"2018-12-16 08:46:48.000000000","message":"Good point! I added a flag to graph, set to True once all events are loaded.","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c3eae514f908eccdae9348841e91d876f0125ad7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            if self.graph and self.graph.num_vertices():"},{"line_number":30,"context_line":"                return True"},{"line_number":31,"context_line":"            return False"},{"line_number":32,"context_line":"        except Exception as e:"},{"line_number":33,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d22de15e","line":32,"updated":"2018-12-14 18:09:51.000000000","message":"Please, add logging here to make troubleshooting easier","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"6ed4eec84e579fa46848612f26d1be3bd30e57b3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            if self.graph and self.graph.num_vertices():"},{"line_number":30,"context_line":"                return True"},{"line_number":31,"context_line":"            return False"},{"line_number":32,"context_line":"        except Exception as e:"},{"line_number":33,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_15d33966","line":32,"in_reply_to":"3f79a3b5_d22de15e","updated":"2018-12-16 08:46:48.000000000","message":"Thanks, done.","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"}],"vitrage/cli/__init__.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"83e99a86b709da8919648264c1439d91a8e6b570","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from vitrage import __version__"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"VITRAGE_TITLE \u003d r\"\"\""},{"line_number":18,"context_line":" _    __ _  __                          "},{"line_number":19,"context_line":"| |  / /(_)/ /_ _____ ____ _ ____ _ ___ "},{"line_number":20,"context_line":"| | / // // __// ___// __ `// __ `// _ \\"},{"line_number":21,"context_line":"| |/ // // /_ / /   / /_/ // /_/ //  __/"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_3eae7b83","line":18,"range":{"start_line":18,"start_character":14,"end_line":18,"end_character":40},"updated":"2018-12-13 17:20:56.000000000","message":"Extra spaces. And I liked the previous version ;-)","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"}],"vitrage/entity_graph/graph_init.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"83e99a86b709da8919648264c1439d91a8e6b570","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def info(self, ctxt, publisher_id, event_type, payload, metadata):"},{"line_number":198,"context_line":"        try:"},{"line_number":199,"context_line":"            LOG.info(\"SSSSSSSSSSSSs\")"},{"line_number":200,"context_line":"            self.process_event_callback(payload)"},{"line_number":201,"context_line":"        except Exception:"},{"line_number":202,"context_line":"            LOG.exception(\u0027Failed to process event callback.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_7ed073f6","line":199,"range":{"start_line":199,"start_character":22,"end_line":199,"end_character":35},"updated":"2018-12-13 17:20:56.000000000","message":"?","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"}],"vitrage/entity_graph/graph_persistency.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"83e99a86b709da8919648264c1439d91a8e6b570","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                del event.payload[\u0027label\u0027]"},{"line_number":73,"context_line":"                e \u003d Edge(source_id, target_id, label, event.payload)"},{"line_number":74,"context_line":"                graph.update_edge(e)"},{"line_number":75,"context_line":"        LOG.info(\u0027ssss %s database events applied \u0027, len(events))"},{"line_number":76,"context_line":"        return len(events)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def persist_event(self, before, current, is_vertex, graph, event_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_1e305f54","line":75,"range":{"start_line":75,"start_character":8,"end_line":75,"end_character":65},"updated":"2018-12-13 17:20:56.000000000","message":"Duplicate log message","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"}],"vitrage/entity_graph/workers.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c3eae514f908eccdae9348841e91d876f0125ad7","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import oslo_messaging"},{"line_number":21,"context_line":"from oslo_utils import uuidutils"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from vitrage.api_handler.apis.operational import OperationalApis"},{"line_number":24,"context_line":"from vitrage.entity_graph.graph_persistency import GraphPersistency"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from vitrage.api_handler.apis.alarm import AlarmApis"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d25641d1","line":23,"updated":"2018-12-14 18:09:51.000000000","message":"Please, add imports in an alphabetical order","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"6ed4eec84e579fa46848612f26d1be3bd30e57b3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import oslo_messaging"},{"line_number":21,"context_line":"from oslo_utils import uuidutils"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from vitrage.api_handler.apis.operational import OperationalApis"},{"line_number":24,"context_line":"from vitrage.entity_graph.graph_persistency import GraphPersistency"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from vitrage.api_handler.apis.alarm import AlarmApis"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_35d8b54d","line":23,"in_reply_to":"3f79a3b5_d25641d1","updated":"2018-12-16 08:46:48.000000000","message":"My bad, thanks!","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"83e99a86b709da8919648264c1439d91a8e6b570","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self._api_queues \u003d []"},{"line_number":74,"context_line":"        self._all_queues \u003d []"},{"line_number":75,"context_line":"        self.register_hooks(on_terminate\u003dself._stop)"},{"line_number":76,"context_line":"        # from multiprocessing import Manager"},{"line_number":77,"context_line":"        # self.manager \u003d Manager()"},{"line_number":78,"context_line":"        self.add_evaluator_workers()"},{"line_number":79,"context_line":"        self.add_api_workers()"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_5e0fb789","line":77,"range":{"start_line":76,"start_character":0,"end_line":77,"end_character":34},"updated":"2018-12-13 17:20:56.000000000","message":"To be removed?","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c3eae514f908eccdae9348841e91d876f0125ad7","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self._api_queues \u003d []"},{"line_number":74,"context_line":"        self._all_queues \u003d []"},{"line_number":75,"context_line":"        self.register_hooks(on_terminate\u003dself._stop)"},{"line_number":76,"context_line":"        # from multiprocessing import Manager"},{"line_number":77,"context_line":"        # self.manager \u003d Manager()"},{"line_number":78,"context_line":"        self.add_evaluator_workers()"},{"line_number":79,"context_line":"        self.add_api_workers()"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f259fdfe","line":77,"range":{"start_line":76,"start_character":0,"end_line":77,"end_character":34},"in_reply_to":"3f79a3b5_5e0fb789","updated":"2018-12-14 18:09:51.000000000","message":"+1. The same comment for the code below","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"6ed4eec84e579fa46848612f26d1be3bd30e57b3","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self._api_queues \u003d []"},{"line_number":74,"context_line":"        self._all_queues \u003d []"},{"line_number":75,"context_line":"        self.register_hooks(on_terminate\u003dself._stop)"},{"line_number":76,"context_line":"        # from multiprocessing import Manager"},{"line_number":77,"context_line":"        # self.manager \u003d Manager()"},{"line_number":78,"context_line":"        self.add_evaluator_workers()"},{"line_number":79,"context_line":"        self.add_api_workers()"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_95b2e907","line":77,"range":{"start_line":76,"start_character":0,"end_line":77,"end_character":34},"in_reply_to":"3f79a3b5_f259fdfe","updated":"2018-12-16 08:46:48.000000000","message":"Done","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"83e99a86b709da8919648264c1439d91a8e6b570","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            LOG.info(\"%s - Started %s (%s vertices)\", self.__class__.__name__,"},{"line_number":241,"context_line":"                     self.worker_id, self._entity_graph.num_vertices())"},{"line_number":242,"context_line":"        else:"},{"line_number":243,"context_line":"            LOG.info(\"%s - Started %s\", self.__class__.__name__,"},{"line_number":244,"context_line":"                     self.worker_id)"},{"line_number":245,"context_line":"        self._read_queue()"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_fe7803f7","line":243,"range":{"start_line":243,"start_character":27,"end_line":243,"end_character":34},"updated":"2018-12-13 17:20:56.000000000","message":"Maybe write \"Started empty\"","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"6ed4eec84e579fa46848612f26d1be3bd30e57b3","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            LOG.info(\"%s - Started %s (%s vertices)\", self.__class__.__name__,"},{"line_number":241,"context_line":"                     self.worker_id, self._entity_graph.num_vertices())"},{"line_number":242,"context_line":"        else:"},{"line_number":243,"context_line":"            LOG.info(\"%s - Started %s\", self.__class__.__name__,"},{"line_number":244,"context_line":"                     self.worker_id)"},{"line_number":245,"context_line":"        self._read_queue()"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_b5b5a5f1","line":243,"range":{"start_line":243,"start_character":27,"end_line":243,"end_character":34},"in_reply_to":"3f79a3b5_fe7803f7","updated":"2018-12-16 08:46:48.000000000","message":"Done","commit_id":"42e4102b44dc23aaed67c5b421fe8f93e9b1a456"}]}
