)]}'
{"ceilometer/agent/manager.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"5efc1c4ffc59bb90893675946073caa98c318f59","unresolved":false,"context_lines":[{"line_number":394,"context_line":""},{"line_number":395,"context_line":"            @periodics.periodic(spacing\u003dinterval, run_immediately\u003dFalse)"},{"line_number":396,"context_line":"            def task():"},{"line_number":397,"context_line":"                time.sleep(delay_time)"},{"line_number":398,"context_line":"                self.interval_task(polling_task)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"            self.polling_periodics.add(task)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_8d7ff5aa","line":397,"range":{"start_line":397,"start_character":16,"end_line":397,"end_character":38},"updated":"2016-04-30 07:45:57.000000000","message":"-1: I think it should not be inside the periodic task, it is initial delay, not every time","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e376cfa1c4c194090af974202096de1620b9da7","unresolved":false,"context_lines":[{"line_number":394,"context_line":""},{"line_number":395,"context_line":"            @periodics.periodic(spacing\u003dinterval, run_immediately\u003dFalse)"},{"line_number":396,"context_line":"            def task():"},{"line_number":397,"context_line":"                time.sleep(delay_time)"},{"line_number":398,"context_line":"                self.interval_task(polling_task)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"            self.polling_periodics.add(task)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_faa8c179","line":397,"range":{"start_line":397,"start_character":16,"end_line":397,"end_character":38},"in_reply_to":"1a122d0e_8d7ff5aa","updated":"2016-05-02 16:51:30.000000000","message":"Done","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"5efc1c4ffc59bb90893675946073caa98c318f59","unresolved":false,"context_lines":[{"line_number":427,"context_line":"    @property"},{"line_number":428,"context_line":"    def keystone(self):"},{"line_number":429,"context_line":"        # FIXME(sileht): This lazy loading of keystone client doesn\u0027t"},{"line_number":430,"context_line":"        # looks concurrently safe, we never see issue because once we are"},{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_4d5cbd4c","line":430,"range":{"start_line":430,"start_character":70,"end_line":430,"end_character":73},"updated":"2016-04-30 07:45:57.000000000","message":"have","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"5efc1c4ffc59bb90893675946073caa98c318f59","unresolved":false,"context_lines":[{"line_number":427,"context_line":"    @property"},{"line_number":428,"context_line":"    def keystone(self):"},{"line_number":429,"context_line":"        # FIXME(sileht): This lazy loading of keystone client doesn\u0027t"},{"line_number":430,"context_line":"        # looks concurrently safe, we never see issue because once we are"},{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_ed46697a","line":430,"range":{"start_line":430,"start_character":10,"end_line":430,"end_character":15},"updated":"2016-04-30 07:45:57.000000000","message":"look","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e376cfa1c4c194090af974202096de1620b9da7","unresolved":false,"context_lines":[{"line_number":427,"context_line":"    @property"},{"line_number":428,"context_line":"    def keystone(self):"},{"line_number":429,"context_line":"        # FIXME(sileht): This lazy loading of keystone client doesn\u0027t"},{"line_number":430,"context_line":"        # looks concurrently safe, we never see issue because once we are"},{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_9aaeed7f","line":430,"range":{"start_line":430,"start_character":70,"end_line":430,"end_character":73},"in_reply_to":"1a122d0e_4d5cbd4c","updated":"2016-05-02 16:51:30.000000000","message":"Done","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e376cfa1c4c194090af974202096de1620b9da7","unresolved":false,"context_lines":[{"line_number":427,"context_line":"    @property"},{"line_number":428,"context_line":"    def keystone(self):"},{"line_number":429,"context_line":"        # FIXME(sileht): This lazy loading of keystone client doesn\u0027t"},{"line_number":430,"context_line":"        # looks concurrently safe, we never see issue because once we are"},{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_3ab999cc","line":430,"range":{"start_line":430,"start_character":10,"end_line":430,"end_character":15},"in_reply_to":"1a122d0e_ed46697a","updated":"2016-05-02 16:51:30.000000000","message":"Done","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"5efc1c4ffc59bb90893675946073caa98c318f59","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        # looks concurrently safe, we never see issue because once we are"},{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"},{"line_number":434,"context_line":"        # this short times bad thing can occurs."},{"line_number":435,"context_line":"        #"},{"line_number":436,"context_line":"        # I thnk we must not reset keystone client before"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_cd2e0dab","line":433,"range":{"start_line":433,"start_character":21,"end_line":433,"end_character":66},"updated":"2016-04-30 07:45:57.000000000","message":"overrides it which has been created by other polling tasks.","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"5efc1c4ffc59bb90893675946073caa98c318f59","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"},{"line_number":434,"context_line":"        # this short times bad thing can occurs."},{"line_number":435,"context_line":"        #"},{"line_number":436,"context_line":"        # I thnk we must not reset keystone client before"},{"line_number":437,"context_line":"        # running a polling task, but refresh it periodicaly instead."}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_0d42c568","line":434,"range":{"start_line":434,"start_character":37,"end_line":434,"end_character":47},"updated":"2016-04-30 07:45:57.000000000","message":"can occur","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"5efc1c4ffc59bb90893675946073caa98c318f59","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"},{"line_number":434,"context_line":"        # this short times bad thing can occurs."},{"line_number":435,"context_line":"        #"},{"line_number":436,"context_line":"        # I thnk we must not reset keystone client before"},{"line_number":437,"context_line":"        # running a polling task, but refresh it periodicaly instead."}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_ad4c719e","line":434,"range":{"start_line":434,"start_character":21,"end_line":434,"end_character":26},"updated":"2016-04-30 07:45:57.000000000","message":"time?","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e376cfa1c4c194090af974202096de1620b9da7","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"},{"line_number":434,"context_line":"        # this short times bad thing can occurs."},{"line_number":435,"context_line":"        #"},{"line_number":436,"context_line":"        # I thnk we must not reset keystone client before"},{"line_number":437,"context_line":"        # running a polling task, but refresh it periodicaly instead."}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_1ac3fd39","line":434,"range":{"start_line":434,"start_character":37,"end_line":434,"end_character":47},"in_reply_to":"1a122d0e_0d42c568","updated":"2016-05-02 16:51:30.000000000","message":"Done","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e376cfa1c4c194090af974202096de1620b9da7","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        # connected to keystone everything is fine, and because all pollsters"},{"line_number":432,"context_line":"        # are delayed during startup. But each polling task creates a new"},{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"},{"line_number":434,"context_line":"        # this short times bad thing can occurs."},{"line_number":435,"context_line":"        #"},{"line_number":436,"context_line":"        # I thnk we must not reset keystone client before"},{"line_number":437,"context_line":"        # running a polling task, but refresh it periodicaly instead."}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_bac5a93e","line":434,"range":{"start_line":434,"start_character":21,"end_line":434,"end_character":26},"in_reply_to":"1a122d0e_ad4c719e","updated":"2016-05-02 16:51:30.000000000","message":"Done","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"5efc1c4ffc59bb90893675946073caa98c318f59","unresolved":false,"context_lines":[{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"},{"line_number":434,"context_line":"        # this short times bad thing can occurs."},{"line_number":435,"context_line":"        #"},{"line_number":436,"context_line":"        # I thnk we must not reset keystone client before"},{"line_number":437,"context_line":"        # running a polling task, but refresh it periodicaly instead."},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"        # NOTE(sileht): we do lazy loading of the keystone client"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_cd472d79","line":436,"range":{"start_line":436,"start_character":12,"end_line":436,"end_character":16},"updated":"2016-04-30 07:45:57.000000000","message":"think","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e376cfa1c4c194090af974202096de1620b9da7","unresolved":false,"context_lines":[{"line_number":433,"context_line":"        # client and override thoses created by other polling task. During"},{"line_number":434,"context_line":"        # this short times bad thing can occurs."},{"line_number":435,"context_line":"        #"},{"line_number":436,"context_line":"        # I thnk we must not reset keystone client before"},{"line_number":437,"context_line":"        # running a polling task, but refresh it periodicaly instead."},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"        # NOTE(sileht): we do lazy loading of the keystone client"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_dac86559","line":436,"range":{"start_line":436,"start_character":12,"end_line":436,"end_character":16},"in_reply_to":"1a122d0e_cd472d79","updated":"2016-05-02 16:51:30.000000000","message":"Done","commit_id":"00dd4c8f20f1343e193df87b44818e4a95c776b7"}],"ceilometer/notification.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f1337e41bc630d26044d8fc7e3b2b0fb9e2a9542","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            utils.spawn_thread(self.periodic.start)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"            # configure pipelines after all coordination is configured."},{"line_number":215,"context_line":"            self._configure_pipeline_listener()"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        if not cfg.CONF.notification.disable_non_metric_meters:"},{"line_number":218,"context_line":"            LOG.warning(_LW(\u0027Non-metric meters may be collected. It is highly \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"3aaa91ec_fed3f035","line":215,"updated":"2016-06-30 12:45:23.000000000","message":"i think we need to set this under coord_lock as well.","commit_id":"383a3027786f24f90d1aa9af00af70317dcff7a3"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"0720b563a30649f8e10521b49f57a37e114aaed8","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            utils.spawn_thread(self.periodic.start)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"            # configure pipelines after all coordination is configured."},{"line_number":215,"context_line":"            self._configure_pipeline_listener()"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        if not cfg.CONF.notification.disable_non_metric_meters:"},{"line_number":218,"context_line":"            LOG.warning(_LW(\u0027Non-metric meters may be collected. It is highly \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"3aaa91ec_83289087","line":215,"in_reply_to":"3aaa91ec_fed3f035","updated":"2016-06-30 14:12:01.000000000","message":"Good catch, fixed!","commit_id":"383a3027786f24f90d1aa9af00af70317dcff7a3"}],"ceilometer/service_base.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"d2886a9a91bb41a1398cdc09ddb116187b433efa","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            p \u003d utils.create_periodic("},{"line_number":55,"context_line":"                target\u003dself.refresh_pipeline,"},{"line_number":56,"context_line":"                spacing\u003dcfg.CONF.pipeline_polling_interval)"},{"line_number":57,"context_line":"            utils.spawn_thread(p.start)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def get_pipeline_mtime(self, p_type\u003dpipeline.SAMPLE_TYPE):"},{"line_number":60,"context_line":"        return (self.event_pipeline_mtime if p_type \u003d\u003d pipeline.EVENT_TYPE else"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_ef6d93cd","line":57,"range":{"start_line":57,"start_character":12,"end_line":57,"end_character":39},"updated":"2016-04-22 10:29:21.000000000","message":"I think it might not ok to leave this thread when stop, what do you think?","commit_id":"32168cc5914d30d67fb479fa4bb37c88d6ac4ab0"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"2cb3b3400df25c32f28a47205774fcb641837d0c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            p \u003d utils.create_periodic("},{"line_number":55,"context_line":"                target\u003dself.refresh_pipeline,"},{"line_number":56,"context_line":"                spacing\u003dcfg.CONF.pipeline_polling_interval)"},{"line_number":57,"context_line":"            utils.spawn_thread(p.start)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def get_pipeline_mtime(self, p_type\u003dpipeline.SAMPLE_TYPE):"},{"line_number":60,"context_line":"        return (self.event_pipeline_mtime if p_type \u003d\u003d pipeline.EVENT_TYPE else"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_ddb5ed7e","line":57,"range":{"start_line":57,"start_character":12,"end_line":57,"end_character":39},"in_reply_to":"1a122d0e_ef6d93cd","updated":"2016-04-22 11:38:13.000000000","message":"The old code wasn\u0027t stopping anything from the eventlet threadpool because os_service.Service.stop was never called, I have made a separate change for fix all of that.","commit_id":"32168cc5914d30d67fb479fa4bb37c88d6ac4ab0"}]}
