)]}'
{"swift/container/sharder.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"def0c65a9de6a8b2429a71566aea8ab424e23283","unresolved":false,"context_lines":[{"line_number":1509,"context_line":""},{"line_number":1510,"context_line":"    def _send_elect_request(self, node, path):"},{"line_number":1511,"context_line":"        headers \u003d {\u0027user-agent\u0027: \u0027container-sharder %s\u0027 % os.getpid(),"},{"line_number":1512,"context_line":"                   \u0027X-Timestamp\u0027: Timestamp(time.time()).normal}"},{"line_number":1513,"context_line":"        try:"},{"line_number":1514,"context_line":"            with ConnectionTimeout(self.conn_timeout):"},{"line_number":1515,"context_line":"                conn \u003d http_connect_raw(node[\u0027ip\u0027], node[\u0027port\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_406ef42e","line":1512,"range":{"start_line":1512,"start_character":19,"end_line":1512,"end_character":63},"updated":"2020-06-04 06:09:49.000000000","message":"Not strictly needed, but I\u0027m not opposed.","commit_id":"d28d816ab6bf55ac2a12ed24b7d090c4a23c5b2a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"def0c65a9de6a8b2429a71566aea8ab424e23283","unresolved":false,"context_lines":[{"line_number":1519,"context_line":"                return response"},{"line_number":1520,"context_line":"        except (Exception, Timeout) as x:"},{"line_number":1521,"context_line":"            self.logger.info(str(x))"},{"line_number":1522,"context_line":"            # Need to do something here."},{"line_number":1523,"context_line":"            return None"},{"line_number":1524,"context_line":""},{"line_number":1525,"context_line":"    def _elect_process_result(self, responses, total_nodes, this_node):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_e0d108ce","line":1522,"updated":"2020-06-04 06:09:49.000000000","message":"Do we, though? ;-)","commit_id":"d28d816ab6bf55ac2a12ed24b7d090c4a23c5b2a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"def0c65a9de6a8b2429a71566aea8ab424e23283","unresolved":false,"context_lines":[{"line_number":1548,"context_line":"        if len({(r[\u0027node\u0027][\u0027ip\u0027], r[\u0027node\u0027][\u0027port\u0027]) for r in responses}) \u003e 1:"},{"line_number":1549,"context_line":"            # we have more then 1 potential candidate. Filter only the"},{"line_number":1550,"context_line":"            # latest ring version"},{"line_number":1551,"context_line":"            latest_version \u003d max("},{"line_number":1552,"context_line":"                responses, key\u003dversion_key)[\u0027version\u0027]"},{"line_number":1553,"context_line":"            responses \u003d [r for r in responses"},{"line_number":1554,"context_line":"                         if r[\u0027version\u0027] \u003d\u003d latest_version]"},{"line_number":1555,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_e014684f","line":1552,"range":{"start_line":1551,"start_character":29,"end_line":1552,"end_character":54},"updated":"2020-06-04 06:09:49.000000000","message":"Alternatively,\n\n max(r[\u0027version\u0027] for r in responses)","commit_id":"d28d816ab6bf55ac2a12ed24b7d090c4a23c5b2a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"def0c65a9de6a8b2429a71566aea8ab424e23283","unresolved":false,"context_lines":[{"line_number":1557,"context_line":"            # There is no batch size so we scan until the end."},{"line_number":1558,"context_line":"            if any(map(already_has_ranges, responses)):"},{"line_number":1559,"context_line":"                # One of nodes has the container and it already"},{"line_number":1560,"context_line":"                # has values so fail"},{"line_number":1561,"context_line":"                return False"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"            # make sure a quorum of responses are from unsharded primary nodes"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_23ab0ad6","line":1560,"updated":"2020-06-04 06:09:49.000000000","message":"Hmm... This is going to make it hard to move to a batch size of zero, isn\u0027t it? You\u0027d have to set it arbitrarily high for a while, let everybody finish identifying shards, *then* move it to 0 (infinite).","commit_id":"d28d816ab6bf55ac2a12ed24b7d090c4a23c5b2a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"def0c65a9de6a8b2429a71566aea8ab424e23283","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"                # has values so fail"},{"line_number":1561,"context_line":"                return False"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":"            # make sure a quorum of responses are from unsharded primary nodes"},{"line_number":1564,"context_line":"            if sum(map(sum_helper_unsharded, responses)) \u003c q_size:"},{"line_number":1565,"context_line":"                return False"},{"line_number":1566,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_4399dec1","line":1563,"updated":"2020-06-04 06:09:49.000000000","message":"So in the default \u0027all\u0027 case, all primaries must be up and have the most-recent ring.\n\nI think this is maybe the current trouble with probe tests?","commit_id":"d28d816ab6bf55ac2a12ed24b7d090c4a23c5b2a"}]}
