)]}'
{"swift/container/sharder.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8da8fe80ee3be8acb44c87fe765153d10e7964d0","unresolved":false,"context_lines":[{"line_number":584,"context_line":"                    self._local_device_ids.add(node[\u0027id\u0027])"},{"line_number":585,"context_line":"                    dirs.append((datadir, node[\u0027id\u0027]))"},{"line_number":586,"context_line":"        for part, path, node_id in db_replicator.roundrobin_datadirs(dirs):"},{"line_number":587,"context_line":"            # TODO: cache results in a local dict node_id -\u003e node to avoid"},{"line_number":588,"context_line":"            # repeated calls to get_part_nodes for same part"},{"line_number":589,"context_line":"            for node in self.ring.get_part_nodes(int(part)):"},{"line_number":590,"context_line":"                if node[\u0027id\u0027] \u003d\u003d node_id:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf57530f_a482664e","line":587,"range":{"start_line":587,"start_character":50,"end_line":587,"end_character":65},"updated":"2017-09-20 17:12:44.000000000","message":"(part, node_id) -\u003e node, otherwise we get the wrong indexes.\n\nMaybe just have part -\u003e get_part_nodes result?\n\nOr two dicts, node_id -\u003e node and (part, node_id) -\u003e node_index?\n\nIDK...","commit_id":"9d805bb0d6194cdb451e5da15d54ae7d9e5dc649"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8da8fe80ee3be8acb44c87fe765153d10e7964d0","unresolved":false,"context_lines":[{"line_number":590,"context_line":"                if node[\u0027id\u0027] \u003d\u003d node_id:"},{"line_number":591,"context_line":"                    break"},{"line_number":592,"context_line":"            else:"},{"line_number":593,"context_line":"                # TODO: this would be a bug, a warning log may be too soft"},{"line_number":594,"context_line":"                self.logger.warning(\"Failed to find node to match id %s\" %"},{"line_number":595,"context_line":"                                    node_id)"},{"line_number":596,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf57530f_e62aa58e","line":593,"range":{"start_line":593,"start_character":24,"end_line":593,"end_character":43},"updated":"2017-09-20 17:12:44.000000000","message":"Is it? Or did we just find a container db on a handoff? Seems more-or-less expected behavior...","commit_id":"9d805bb0d6194cdb451e5da15d54ae7d9e5dc649"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8da8fe80ee3be8acb44c87fe765153d10e7964d0","unresolved":false,"context_lines":[{"line_number":594,"context_line":"                self.logger.warning(\"Failed to find node to match id %s\" %"},{"line_number":595,"context_line":"                                    node_id)"},{"line_number":596,"context_line":"                continue"},{"line_number":597,"context_line":"            # TODO: check that node has an index ?? would be a bug otherwise"},{"line_number":598,"context_line":"            broker \u003d ContainerBroker(path)"},{"line_number":599,"context_line":"            sharded \u003d broker.metadata.get(\u0027X-Container-Sysmeta-Sharding\u0027) or \\"},{"line_number":600,"context_line":"                broker.metadata.get(\u0027X-Container-Sysmeta-Shard-Account\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf57530f_444a8a55","line":597,"updated":"2017-09-20 17:12:44.000000000","message":"Should be pretty-well assured: https://github.com/openstack/swift/blob/2.15.1/swift/common/ring/ring.py#L320","commit_id":"9d805bb0d6194cdb451e5da15d54ae7d9e5dc649"}]}
