)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0f3ba7c19ebc2975944ba9ed9514f230c2fb892c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"the following hook in the manager class:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  def pre_consume_hook(self, service):"},{"line_number":21,"context_line":"    # delcare addtional consumer topics"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The service paramter is the handle to the rpc.Service instance."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAALn%2F%2FwS4%3D","line":21,"updated":"2012-11-08 09:15:57.000000000","message":"lots of typo :)","commit_id":"ead7975cd7946809d62a664eb599232769f1262a"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0f3ba7c19ebc2975944ba9ed9514f230c2fb892c","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  def pre_consume_hook(self, service):"},{"line_number":21,"context_line":"    # delcare addtional consumer topics"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The service paramter is the handle to the rpc.Service instance."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Change-Id: I33a98c228d45f7716e46d40d9203188f4e827c11"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAALn%2F%2FwS0%3D","line":23,"updated":"2012-11-08 09:15:57.000000000","message":"parameter","commit_id":"ead7975cd7946809d62a664eb599232769f1262a"}],"ceilometer/collector/service.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0f3ba7c19ebc2975944ba9ed9514f230c2fb892c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    COLLECTOR_NAMESPACE \u003d \u0027ceilometer.collector\u0027"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def start(self):"},{"line_number":57,"context_line":"        super(CollectorService, self).start()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        storage.register_opts(cfg.CONF)"},{"line_number":60,"context_line":"        self.storage_engine \u003d storage.get_engine(cfg.CONF)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2FwSY%3D","line":57,"updated":"2012-11-08 09:15:57.000000000","message":"What about just moving this line at the end of start()?","commit_id":"ead7975cd7946809d62a664eb599232769f1262a"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"778ca95bd4e92cbe1b66511f336006c7c3bf3f4e","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    COLLECTOR_NAMESPACE \u003d \u0027ceilometer.collector\u0027"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def start(self):"},{"line_number":57,"context_line":"        super(CollectorService, self).start()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        storage.register_opts(cfg.CONF)"},{"line_number":60,"context_line":"        self.storage_engine \u003d storage.get_engine(cfg.CONF)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2FwNQ%3D","line":57,"in_reply_to":"AAAALn%2F%2FwOY%3D","updated":"2012-11-08 11:46:01.000000000","message":"Ah, indeed, missed that. :(","commit_id":"ead7975cd7946809d62a664eb599232769f1262a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"fd11c0018a86b11c90e9a1d8fb135f8222b29002","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    COLLECTOR_NAMESPACE \u003d \u0027ceilometer.collector\u0027"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def start(self):"},{"line_number":57,"context_line":"        super(CollectorService, self).start()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        storage.register_opts(cfg.CONF)"},{"line_number":60,"context_line":"        self.storage_engine \u003d storage.get_engine(cfg.CONF)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2FwOY%3D","line":57,"in_reply_to":"AAAALn%2F%2FwSY%3D","updated":"2012-11-08 11:13:09.000000000","message":"Because rpc.connection is created at the beginning of the supe().start(), and we need the rpc.connection to declare new topic consumers.","commit_id":"ead7975cd7946809d62a664eb599232769f1262a"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0f3ba7c19ebc2975944ba9ed9514f230c2fb892c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self.storage_engine \u003d storage.get_engine(cfg.CONF)"},{"line_number":61,"context_line":"        self.storage_conn \u003d self.storage_engine.get_connection(cfg.CONF)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def pre_consume_hook(self, service):"},{"line_number":64,"context_line":"        \u0027\u0027\u0027Consumers must be declared before consume_thread start.\u0027\u0027\u0027"},{"line_number":65,"context_line":"        self.ext_manager \u003d extension_manager.ActivatedExtensionManager("},{"line_number":66,"context_line":"            namespace\u003dself.COLLECTOR_NAMESPACE,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2FwSw%3D","line":63,"updated":"2012-11-08 09:15:57.000000000","message":"What\u0027s the point of service arg if not used?","commit_id":"ead7975cd7946809d62a664eb599232769f1262a"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"778ca95bd4e92cbe1b66511f336006c7c3bf3f4e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self.storage_engine \u003d storage.get_engine(cfg.CONF)"},{"line_number":61,"context_line":"        self.storage_conn \u003d self.storage_engine.get_connection(cfg.CONF)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def pre_consume_hook(self, service):"},{"line_number":64,"context_line":"        \u0027\u0027\u0027Consumers must be declared before consume_thread start.\u0027\u0027\u0027"},{"line_number":65,"context_line":"        self.ext_manager \u003d extension_manager.ActivatedExtensionManager("},{"line_number":66,"context_line":"            namespace\u003dself.COLLECTOR_NAMESPACE,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2FwNM%3D","line":63,"in_reply_to":"AAAALn%2F%2FwOU%3D","updated":"2012-11-08 11:46:01.000000000","message":"OK.","commit_id":"ead7975cd7946809d62a664eb599232769f1262a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"fd11c0018a86b11c90e9a1d8fb135f8222b29002","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self.storage_engine \u003d storage.get_engine(cfg.CONF)"},{"line_number":61,"context_line":"        self.storage_conn \u003d self.storage_engine.get_connection(cfg.CONF)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def pre_consume_hook(self, service):"},{"line_number":64,"context_line":"        \u0027\u0027\u0027Consumers must be declared before consume_thread start.\u0027\u0027\u0027"},{"line_number":65,"context_line":"        self.ext_manager \u003d extension_manager.ActivatedExtensionManager("},{"line_number":66,"context_line":"            namespace\u003dself.COLLECTOR_NAMESPACE,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALn%2F%2FwOU%3D","line":63,"in_reply_to":"AAAALn%2F%2FwSw%3D","updated":"2012-11-08 11:13:09.000000000","message":"This would allows the manager of rpc.Service get the handle to that. Here the manager is just the rpc.Service decendant itself, so it\u0027s no use.","commit_id":"ead7975cd7946809d62a664eb599232769f1262a"}]}
