)]}'
{"tooz/partitioner.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"ab29b04fa6385ad70f279cfaf650a4097dd56520","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        self._coord \u003d coordinator"},{"line_number":41,"context_line":"        self._coord.watch_join_group(self.group_id, self._on_member_join)"},{"line_number":42,"context_line":"        self._coord.watch_leave_group(self.group_id, self._on_member_leave)"},{"line_number":43,"context_line":"        members \u003d list(self._coord.get_members(self.group_id).get())"},{"line_number":44,"context_line":"        self.ring \u003d hashring.HashRing([], partitions\u003dself.partitions)"},{"line_number":45,"context_line":"        self.ring.add_nodes(members, ["},{"line_number":46,"context_line":"            utils.loads(self._coord.get_member_capabilities("}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_e5518910","line":43,"updated":"2017-03-24 15:10:58.000000000","message":"the get_members() should be done first and the .get() should be done as far as possible, just to optimize :)","commit_id":"7334e30bc5121bb250c77ce63dacc5b184687750"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"45db17edf600398decdc3288b9543d8bb0890f3d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        for m_id in members.get():"},{"line_number":46,"context_line":"            self.ring.add_node("},{"line_number":47,"context_line":"                m_id, utils.loads(self._coord.get_member_capabilities("},{"line_number":48,"context_line":"                                  self.group_id, m_id).get()).get(\"weight\", 1))"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _on_member_join(self, event):"},{"line_number":51,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_031c4c10","line":48,"updated":"2017-03-25 10:31:13.000000000","message":"this can be faster this way:\n\ncaps \u003d [(m, self._coord.get_member_capabilities(self.group_id, m)) for m in members.get()]\n\nfor m, cap in caps:\n    self.ring.add_node(m, utils.loads(cap.get()).get(\"weight\", 1))","commit_id":"0b50dfae875677561bf1256d46ce53659b111a61"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"5cd348bcf2b656c1aeba63fd54a06383e56b8b6d","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        self._coord.watch_leave_group(self.group_id, self._on_member_leave)"},{"line_number":43,"context_line":"        members \u003d self._coord.get_members(self.group_id)"},{"line_number":44,"context_line":"        self.ring \u003d hashring.HashRing([], partitions\u003dself.partitions)"},{"line_number":45,"context_line":"        caps \u003d [(m, self._coord.get_member_capabilities(self.group_id, m))"},{"line_number":46,"context_line":"                for m in members.get()]"},{"line_number":47,"context_line":"        for m_id, cap in caps:"},{"line_number":48,"context_line":"            self.ring.add_node(m_id, utils.loads(cap.get()).get(\"weight\", 1))"}],"source_content_type":"text/x-python","patch_set":5,"id":"ffe62b97_9e63fc1a","line":45,"updated":"2017-03-27 08:53:00.000000000","message":"so best thing is to do this first thing in __init__ so the threads have time to run while you\u0027re doing other stuffs.\n\nbut it shall be good enough anyway :)","commit_id":"2812ff8a18c69a8991de3debbd7bb77c23345485"}]}
