)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"6d9e90f3ea8986410223886858d719d6d06b43c8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Idan Hefetz \u003cidan.hefetz@nokia.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-11-19 09:51:34 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Collector removal - vitrage-graph to execute drivers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ie713456b2df96e24d0b15d2362a666162bfb4300"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3f79a3b5_028b046a","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":52},"updated":"2018-11-19 09:58:30.000000000","message":"please elaborate on the change","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"cf21dffa325f0bcf16a961b7f13596ce02b76856","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Idan Hefetz \u003cidan.hefetz@nokia.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-11-19 09:51:34 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Collector removal - vitrage-graph to execute drivers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ie713456b2df96e24d0b15d2362a666162bfb4300"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3f79a3b5_0301c608","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":52},"in_reply_to":"3f79a3b5_028b046a","updated":"2018-11-19 14:04:44.000000000","message":"done","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"}],"doc/source/contributor/high-scale.rst":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fc5975fb79d9fcd568d60bcaab0593b71788ffe3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Tune RPC"},{"line_number":8,"context_line":"--------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Vitrage-api uses RPC to request data from vitrage-graph, these requests take longer, and there may be a need to increase the timeout."},{"line_number":11,"context_line":"The following should be set in ``/etc/vitrage/vitrage.conf``, under ``[DEFAULT]`` section:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"+----------------------+---------------------------------------------------------+-----------------+-----------------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f79a3b5_5db6bd8e","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":133},"updated":"2018-11-19 12:34:48.000000000","message":"Please split to two lines.\n\nAlso, is it enough to restart the graph? no need to restart the api?","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"cf21dffa325f0bcf16a961b7f13596ce02b76856","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Tune RPC"},{"line_number":8,"context_line":"--------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Vitrage-api uses RPC to request data from vitrage-graph, these requests take longer, and there may be a need to increase the timeout."},{"line_number":11,"context_line":"The following should be set in ``/etc/vitrage/vitrage.conf``, under ``[DEFAULT]`` section:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"+----------------------+---------------------------------------------------------+-----------------+-----------------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f79a3b5_c821adb4","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":133},"in_reply_to":"3f79a3b5_5db6bd8e","updated":"2018-11-19 14:04:44.000000000","message":"OK.\nRestarting the api is documented in line 23","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"b8410f9b9181faf190916796a79538104687ee3a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Tune RPC"},{"line_number":8,"context_line":"--------"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Vitrage-api uses RPC to request data from vitrage-graph, these requests take longer, and there may be a need to increase the timeout."},{"line_number":11,"context_line":"The following should be set in ``/etc/vitrage/vitrage.conf``, under ``[DEFAULT]`` section:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"+----------------------+---------------------------------------------------------+-----------------+-----------------+"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f79a3b5_aaa7740a","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":133},"in_reply_to":"3f79a3b5_c821adb4","updated":"2018-11-20 09:12:12.000000000","message":"Right, I missed it.","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"}],"releasenotes/notes/collector-removal-fd805c6298d66eb0.yaml":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"b8410f9b9181faf190916796a79538104687ee3a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Collector removal to simplify and enhance scale performance."},{"line_number":4,"context_line":"    vitrage-collector service is removed and vitrage-graph will be responsible"},{"line_number":5,"context_line":"    to execute the drivers."},{"line_number":6,"context_line":"    Allowing drivers to take advantage of python yield generators and conserve"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3f79a3b5_aa90d498","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":13},"updated":"2018-11-20 09:12:12.000000000","message":"\"Collector service\" might be more clear","commit_id":"60bb02e83a351dbd419eb227e4aa18d01cffac14"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1b4e90af6de82e3d7295456e4a9ef5a586a9eaab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Collector removal to simplify and enhance scale performance."},{"line_number":4,"context_line":"    vitrage-collector service is removed and vitrage-graph will be responsible"},{"line_number":5,"context_line":"    to execute the drivers."},{"line_number":6,"context_line":"    Allowing drivers to take advantage of python yield generators and conserve"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3f79a3b5_fe7f5865","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":13},"in_reply_to":"3f79a3b5_aa90d498","updated":"2018-11-21 08:16:40.000000000","message":"Done","commit_id":"60bb02e83a351dbd419eb227e4aa18d01cffac14"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"b8410f9b9181faf190916796a79538104687ee3a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Collector removal to simplify and enhance scale performance."},{"line_number":4,"context_line":"    vitrage-collector service is removed and vitrage-graph will be responsible"},{"line_number":5,"context_line":"    to execute the drivers."},{"line_number":6,"context_line":"    Allowing drivers to take advantage of python yield generators and conserve"},{"line_number":7,"context_line":"    memory."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3f79a3b5_eaeb2c0e","line":4,"range":{"start_line":4,"start_character":59,"end_line":4,"end_character":66},"updated":"2018-11-20 09:12:12.000000000","message":"is","commit_id":"60bb02e83a351dbd419eb227e4aa18d01cffac14"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1b4e90af6de82e3d7295456e4a9ef5a586a9eaab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Collector removal to simplify and enhance scale performance."},{"line_number":4,"context_line":"    vitrage-collector service is removed and vitrage-graph will be responsible"},{"line_number":5,"context_line":"    to execute the drivers."},{"line_number":6,"context_line":"    Allowing drivers to take advantage of python yield generators and conserve"},{"line_number":7,"context_line":"    memory."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3f79a3b5_9e766492","line":4,"range":{"start_line":4,"start_character":59,"end_line":4,"end_character":66},"in_reply_to":"3f79a3b5_eaeb2c0e","updated":"2018-11-21 08:16:40.000000000","message":"Done","commit_id":"60bb02e83a351dbd419eb227e4aa18d01cffac14"}],"vitrage/entity_graph/graph_init.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fc5975fb79d9fcd568d60bcaab0593b71788ffe3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from vitrage.common.constants import VertexProperties as VProps"},{"line_number":21,"context_line":"from vitrage.common.utils import spawn"},{"line_number":22,"context_line":"from vitrage.datasources.transformer_base import TransformerBase"},{"line_number":23,"context_line":"from vitrage.entity_graph.datasources import DatasourcesExec as Datasources"},{"line_number":24,"context_line":"from vitrage.entity_graph.datasources import DriverNotificationsEndpoint"},{"line_number":25,"context_line":"from vitrage.entity_graph import EVALUATOR_TOPIC"},{"line_number":26,"context_line":"from vitrage.entity_graph.graph_persistency import GraphPersistency"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_e8f029de","line":23,"range":{"start_line":23,"start_character":61,"end_line":23,"end_character":75},"updated":"2018-11-19 12:34:48.000000000","message":"I prefer the long name, so you can understand what this class is expected to do","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"cf21dffa325f0bcf16a961b7f13596ce02b76856","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from vitrage.common.constants import VertexProperties as VProps"},{"line_number":21,"context_line":"from vitrage.common.utils import spawn"},{"line_number":22,"context_line":"from vitrage.datasources.transformer_base import TransformerBase"},{"line_number":23,"context_line":"from vitrage.entity_graph.datasources import DatasourcesExec as Datasources"},{"line_number":24,"context_line":"from vitrage.entity_graph.datasources import DriverNotificationsEndpoint"},{"line_number":25,"context_line":"from vitrage.entity_graph import EVALUATOR_TOPIC"},{"line_number":26,"context_line":"from vitrage.entity_graph.graph_persistency import GraphPersistency"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_a8ff9101","line":23,"range":{"start_line":23,"start_character":61,"end_line":23,"end_character":75},"in_reply_to":"3f79a3b5_e8f029de","updated":"2018-11-19 14:04:44.000000000","message":"done","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fc5975fb79d9fcd568d60bcaab0593b71788ffe3","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            self._do_low_priority_work(e)"},{"line_number":181,"context_line":"        return index"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def _init_evaluator_topic_listener(self, callback):"},{"line_number":184,"context_line":"        return messaging.get_notification_listener("},{"line_number":185,"context_line":"            transport\u003dmessaging.get_transport(self._conf),"},{"line_number":186,"context_line":"            targets\u003d[oslo_messaging.Target(topic\u003dEVALUATOR_TOPIC)],"},{"line_number":187,"context_line":"            endpoints\u003d[PushNotificationsEndpoint(callback)])"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def _init_datasources_topics_listener(self, callback):"},{"line_number":190,"context_line":"        topics \u003d self._conf.datasources.notification_topics"},{"line_number":191,"context_line":"        exchange \u003d self._conf.datasources.notification_exchange"},{"line_number":192,"context_line":"        transport \u003d messaging.get_transport(self._conf)"},{"line_number":193,"context_line":"        targets \u003d [oslo_messaging.Target(exchange\u003dexchange, topic\u003dtopic)"},{"line_number":194,"context_line":"                   for topic in topics]"},{"line_number":195,"context_line":"        cb_by_events \u003d Datasources.create_callbacks_by_events_dict(self._conf)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        return messaging.get_notification_listener("},{"line_number":198,"context_line":"            transport,"},{"line_number":199,"context_line":"            targets,"},{"line_number":200,"context_line":"            [DriverNotificationsEndpoint("},{"line_number":201,"context_line":"                cb_by_events,"},{"line_number":202,"context_line":"                callback)])"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class PushNotificationsEndpoint(object):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_e8758935","line":202,"range":{"start_line":183,"start_character":0,"end_line":202,"end_character":27},"updated":"2018-11-19 12:34:48.000000000","message":"I think that these two functions should be moved outside of this class","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"cf21dffa325f0bcf16a961b7f13596ce02b76856","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            self._do_low_priority_work(e)"},{"line_number":181,"context_line":"        return index"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def _init_evaluator_topic_listener(self, callback):"},{"line_number":184,"context_line":"        return messaging.get_notification_listener("},{"line_number":185,"context_line":"            transport\u003dmessaging.get_transport(self._conf),"},{"line_number":186,"context_line":"            targets\u003d[oslo_messaging.Target(topic\u003dEVALUATOR_TOPIC)],"},{"line_number":187,"context_line":"            endpoints\u003d[PushNotificationsEndpoint(callback)])"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def _init_datasources_topics_listener(self, callback):"},{"line_number":190,"context_line":"        topics \u003d self._conf.datasources.notification_topics"},{"line_number":191,"context_line":"        exchange \u003d self._conf.datasources.notification_exchange"},{"line_number":192,"context_line":"        transport \u003d messaging.get_transport(self._conf)"},{"line_number":193,"context_line":"        targets \u003d [oslo_messaging.Target(exchange\u003dexchange, topic\u003dtopic)"},{"line_number":194,"context_line":"                   for topic in topics]"},{"line_number":195,"context_line":"        cb_by_events \u003d Datasources.create_callbacks_by_events_dict(self._conf)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        return messaging.get_notification_listener("},{"line_number":198,"context_line":"            transport,"},{"line_number":199,"context_line":"            targets,"},{"line_number":200,"context_line":"            [DriverNotificationsEndpoint("},{"line_number":201,"context_line":"                cb_by_events,"},{"line_number":202,"context_line":"                callback)])"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class PushNotificationsEndpoint(object):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_63d51aec","line":202,"range":{"start_line":183,"start_character":0,"end_line":202,"end_character":27},"in_reply_to":"3f79a3b5_e8758935","updated":"2018-11-19 14:04:44.000000000","message":"i moved _init_datasources_topics_listener, but couldnt find a better place for _init_evaluator_topic_listener. any suggestions?","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"}],"vitrage/entity_graph/scheduler.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fc5975fb79d9fcd568d60bcaab0593b71788ffe3","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class Scheduler(object):"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def __init__(self, conf, graph, datasources, persist):"},{"line_number":32,"context_line":"        super(Scheduler, self).__init__()"},{"line_number":33,"context_line":"        self.conf \u003d conf"},{"line_number":34,"context_line":"        self.graph \u003d graph"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_888ad50f","line":31,"range":{"start_line":31,"start_character":36,"end_line":31,"end_character":47},"updated":"2018-11-19 12:34:48.000000000","message":"I think that datasources_exec is more clear","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"}],"vitrage/entity_graph/workers.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fc5975fb79d9fcd568d60bcaab0593b71788ffe3","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                 worker_id,"},{"line_number":194,"context_line":"                 conf,"},{"line_number":195,"context_line":"                 task_queues,"},{"line_number":196,"context_line":"                 entity_graph):"},{"line_number":197,"context_line":"        super(GraphCloneWorkerBase, self).__init__(worker_id)"},{"line_number":198,"context_line":"        self._conf \u003d conf"},{"line_number":199,"context_line":"        self._task_queue \u003d task_queues[worker_id]"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_e8c8294f","line":196,"range":{"start_line":196,"start_character":17,"end_line":196,"end_character":29},"updated":"2018-11-19 12:34:48.000000000","message":"Not used?","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"cf21dffa325f0bcf16a961b7f13596ce02b76856","unresolved":false,"context_lines":[{"line_number":193,"context_line":"                 worker_id,"},{"line_number":194,"context_line":"                 conf,"},{"line_number":195,"context_line":"                 task_queues,"},{"line_number":196,"context_line":"                 entity_graph):"},{"line_number":197,"context_line":"        super(GraphCloneWorkerBase, self).__init__(worker_id)"},{"line_number":198,"context_line":"        self._conf \u003d conf"},{"line_number":199,"context_line":"        self._task_queue \u003d task_queues[worker_id]"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_83487661","line":196,"range":{"start_line":196,"start_character":17,"end_line":196,"end_character":29},"in_reply_to":"3f79a3b5_e8c8294f","updated":"2018-11-19 14:04:44.000000000","message":"thanks i missed it","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"fc5975fb79d9fcd568d60bcaab0593b71788ffe3","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def run(self):"},{"line_number":210,"context_line":"        LOG.info(\"%s - Starting %s\", self.__class__.__name__, self.worker_id)"},{"line_number":211,"context_line":"        db \u003d storage.get_connection_from_config(self._conf)"},{"line_number":212,"context_line":"        g_snapshot \u003d db.graph_snapshots.query()"},{"line_number":213,"context_line":"        self._entity_graph \u003d NXGraph.read_gpickle(g_snapshot.graph_snapshot)"},{"line_number":214,"context_line":"        self._entity_graph.notifier._subscriptions \u003d []  # Quick n dirty"},{"line_number":215,"context_line":"        self._init_instance()"},{"line_number":216,"context_line":"        self._read_queue()"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_28f8617c","line":213,"range":{"start_line":211,"start_character":0,"end_line":213,"end_character":76},"updated":"2018-11-19 12:34:48.000000000","message":"Idan: unrelated, will be deleted","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"cf21dffa325f0bcf16a961b7f13596ce02b76856","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def run(self):"},{"line_number":210,"context_line":"        LOG.info(\"%s - Starting %s\", self.__class__.__name__, self.worker_id)"},{"line_number":211,"context_line":"        db \u003d storage.get_connection_from_config(self._conf)"},{"line_number":212,"context_line":"        g_snapshot \u003d db.graph_snapshots.query()"},{"line_number":213,"context_line":"        self._entity_graph \u003d NXGraph.read_gpickle(g_snapshot.graph_snapshot)"},{"line_number":214,"context_line":"        self._entity_graph.notifier._subscriptions \u003d []  # Quick n dirty"},{"line_number":215,"context_line":"        self._init_instance()"},{"line_number":216,"context_line":"        self._read_queue()"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_63451a4a","line":213,"range":{"start_line":211,"start_character":0,"end_line":213,"end_character":76},"in_reply_to":"3f79a3b5_28f8617c","updated":"2018-11-19 14:04:44.000000000","message":"thanks i missed it","commit_id":"3cc2dc61e3c72d8603eded5c8468d3c65717f900"}]}
