)]}'
{"gnocchi/cli.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"61d28ca48af99050554f2cb2e3809e5dbaff1fb5","unresolved":false,"context_lines":[{"line_number":141,"context_line":"class MetricProcessor(MetricProcessBase):"},{"line_number":142,"context_line":"    name \u003d \"processing\""},{"line_number":143,"context_line":"    GROUP_ID \u003d \"gnocchi-processing\""},{"line_number":144,"context_line":"    SYNC_RATE \u003d 30"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def __init__(self, worker_id, conf):"},{"line_number":147,"context_line":"        super(MetricProcessor, self).__init__("}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_acce2f60","line":144,"updated":"2017-04-21 09:31:52.000000000","message":"can you export that as a config value plz?","commit_id":"0f255f1f91a790a34f5f180687607d5c7e28e29e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"61d28ca48af99050554f2cb2e3809e5dbaff1fb5","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            conf.storage.coordination_url)"},{"line_number":151,"context_line":"        self._tasks \u003d []"},{"line_number":152,"context_line":"        self.fallback_tasks \u003d []"},{"line_number":153,"context_line":"        self.partitioner \u003d None"},{"line_number":154,"context_line":"        self.group_state \u003d None"},{"line_number":155,"context_line":"        self.periodic \u003d None"},{"line_number":156,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_6ce387a5","line":153,"updated":"2017-04-21 09:31:52.000000000","message":"useles","commit_id":"0f255f1f91a790a34f5f180687607d5c7e28e29e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"61d28ca48af99050554f2cb2e3809e5dbaff1fb5","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        self.fallback_tasks \u003d []"},{"line_number":153,"context_line":"        self.partitioner \u003d None"},{"line_number":154,"context_line":"        self.group_state \u003d None"},{"line_number":155,"context_line":"        self.periodic \u003d None"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    @utils.retry"},{"line_number":158,"context_line":"    def _configure(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_0ccd2330","line":155,"updated":"2017-04-21 09:31:52.000000000","message":"useless it seems","commit_id":"0f255f1f91a790a34f5f180687607d5c7e28e29e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"61d28ca48af99050554f2cb2e3809e5dbaff1fb5","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    def _configure(self):"},{"line_number":159,"context_line":"        super(MetricProcessor, self)._configure()"},{"line_number":160,"context_line":"        # create fallback in case paritioning fails or assigned no tasks"},{"line_number":161,"context_line":"        self.fallback_tasks \u003d [i for i in"},{"line_number":162,"context_line":"                               six.moves.range(self.store.incoming.NUM_SACKS)]"},{"line_number":163,"context_line":"        try:"},{"line_number":164,"context_line":"            self.partitioner \u003d self._coord.join_partitioned_group("}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_4c49ebb4","line":161,"updated":"2017-04-21 09:31:52.000000000","message":"just do it ini __init__?\nand it\u0027s just\n\nlist(six.moves.range(NUM_SACKS))","commit_id":"0f255f1f91a790a34f5f180687607d5c7e28e29e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"95aee1c530561184a967eeed545b8d6cdb3d8907","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    def _configure(self):"},{"line_number":159,"context_line":"        super(MetricProcessor, self)._configure()"},{"line_number":160,"context_line":"        # create fallback in case paritioning fails or assigned no tasks"},{"line_number":161,"context_line":"        self.fallback_tasks \u003d [i for i in"},{"line_number":162,"context_line":"                               six.moves.range(self.store.incoming.NUM_SACKS)]"},{"line_number":163,"context_line":"        try:"},{"line_number":164,"context_line":"            self.partitioner \u003d self._coord.join_partitioned_group("}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffa3b31_f2108502","line":161,"in_reply_to":"7ffa3b31_4c49ebb4","updated":"2017-04-21 16:10:57.000000000","message":"i could do it in init, but it sort of depends on how we implement \u0027sack-changer\u0027-stuff","commit_id":"0f255f1f91a790a34f5f180687607d5c7e28e29e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7f0126c18ca27f42f315c92533fbd886ca043946","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        self._tasks \u003d []"},{"line_number":151,"context_line":"        self.group_state \u003d None"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    @utils.retry"},{"line_number":154,"context_line":"    def _configure(self):"},{"line_number":155,"context_line":"        super(MetricProcessor, self)._configure()"},{"line_number":156,"context_line":"        # create fallback in case paritioning fails or assigned no tasks"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f044301_931bb27f","line":153,"updated":"2017-05-11 11:56:21.000000000","message":"You never raise TryAgain so I don\u0027t think it\u0027ll ever retry here.\n\nAnd if\u0027d retry on any error that\u0027d be weird because it could retry when e.g. you already joined the group or things like that.","commit_id":"b55c8418915d38ee57a76a1134d49208496b7398"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"7f0126c18ca27f42f315c92533fbd886ca043946","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                # TODO(gordc): make replicas configurable"},{"line_number":184,"context_line":"                self._tasks \u003d ["},{"line_number":185,"context_line":"                    i for i in six.moves.range(self.store.incoming.NUM_SACKS)"},{"line_number":186,"context_line":"                    if self.partitioner.belongs_to_self(i, replicas\u003d3)]"},{"line_number":187,"context_line":"        finally:"},{"line_number":188,"context_line":"            return self._tasks or self.fallback_tasks"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3f044301_b3010e09","line":186,"updated":"2017-05-11 11:56:21.000000000","message":"hm I imagine there\u0027s a tiny chance that self._tasks \u003d [] if no object belongs to self, which means it will return fallback_tasks which is not what we want?","commit_id":"b55c8418915d38ee57a76a1134d49208496b7398"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"8a2442dcf2a300d0008a39c21d5baa6a0ca41446","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                # TODO(gordc): make replicas configurable"},{"line_number":184,"context_line":"                self._tasks \u003d ["},{"line_number":185,"context_line":"                    i for i in six.moves.range(self.store.incoming.NUM_SACKS)"},{"line_number":186,"context_line":"                    if self.partitioner.belongs_to_self(i, replicas\u003d3)]"},{"line_number":187,"context_line":"        finally:"},{"line_number":188,"context_line":"            return self._tasks or self.fallback_tasks"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3f044301_f0c6619a","line":186,"in_reply_to":"3f044301_b3010e09","updated":"2017-05-11 19:32:02.000000000","message":"hmmm... i would actually prefer that than to accept no jobs. that means i have a process completely idle. i think it\u0027s better for it to do something inefficiently (w/ contentions) rather than nothing efficiently.","commit_id":"b55c8418915d38ee57a76a1134d49208496b7398"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0b1e491390921cb15af5d11f7e7577678c464aa5","unresolved":false,"context_lines":[{"line_number":174,"context_line":"            t.daemon \u003d True"},{"line_number":175,"context_line":"            t.start()"},{"line_number":176,"context_line":"        except NotImplementedError:"},{"line_number":177,"context_line":"            LOG.error(\u0027Coordinator does not support partitioning. Worker will \u0027"},{"line_number":178,"context_line":"                      \u0027battle against other workers for jobs.\u0027)"},{"line_number":179,"context_line":"        except tooz.ToozError as e:"},{"line_number":180,"context_line":"            raise tenacity.TryAgain(e)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1f013ff3_6e9e9208","line":177,"range":{"start_line":177,"start_character":16,"end_line":177,"end_character":21},"updated":"2017-05-14 19:08:36.000000000","message":"error seems a bit strong here, warning is good enough, especially if the operator knows what he\u0027s doing","commit_id":"6c2d1c9800959feb09eb5d680a52616f2b4348ea"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"0b1e491390921cb15af5d11f7e7577678c464aa5","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        except NotImplementedError:"},{"line_number":177,"context_line":"            LOG.error(\u0027Coordinator does not support partitioning. Worker will \u0027"},{"line_number":178,"context_line":"                      \u0027battle against other workers for jobs.\u0027)"},{"line_number":179,"context_line":"        except tooz.ToozError as e:"},{"line_number":180,"context_line":"            raise tenacity.TryAgain(e)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    def _get_tasks(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"1f013ff3_8e99de20","line":179,"updated":"2017-05-14 19:08:36.000000000","message":"can you log an error here? this should not happen so I\u0027m ok to retry, but we need to say to the operator there has been something wrong.","commit_id":"6c2d1c9800959feb09eb5d680a52616f2b4348ea"}]}
