)]}'
{"swift/cli/manage_shard_ranges.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d5679c4011dfa6fbe191a0fed87b3dc36fea615d","unresolved":false,"context_lines":[{"line_number":100,"context_line":"def find_ranges(broker, args):"},{"line_number":101,"context_line":"    shard_data, delta_t \u003d _find_ranges(broker, args, sys.stderr)"},{"line_number":102,"context_line":"    print(json.dumps(shard_data, sort_keys\u003dTrue, indent\u003d2))"},{"line_number":103,"context_line":"    print(\u0027Found %d ranges in %gs (container size %s)\u0027 %"},{"line_number":104,"context_line":"          (len(shard_data), delta_t,"},{"line_number":105,"context_line":"           sum(r[\u0027object_count\u0027] for r in shard_data)),"},{"line_number":106,"context_line":"          file\u003dsys.stderr)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_85b9fa79","line":103,"range":{"start_line":103,"start_character":35,"end_line":103,"end_character":49},"updated":"2018-04-12 13:54:22.000000000","message":"nit: might be better as \u0027total object count\u0027","commit_id":"0b1b2ae4e9d15dcd09f82d995ffc26b6d873feca"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d5679c4011dfa6fbe191a0fed87b3dc36fea615d","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        required\u003dFalse, help\u003d\u0027Prefix for shards account\u0027, default\u003d\u0027.shards_\u0027)"},{"line_number":264,"context_line":"    parser.add_argument("},{"line_number":265,"context_line":"        \u0027--replace-timeout\u0027, type\u003dint, default\u003d600,"},{"line_number":266,"context_line":"        help\u003d\u0027DB timeout to use when replacing shard ranges.\u0027)"},{"line_number":267,"context_line":"    parser.add_argument("},{"line_number":268,"context_line":"        \u0027--force\u0027, \u0027-f\u0027, action\u003d\u0027store_true\u0027, default\u003dFalse,"},{"line_number":269,"context_line":"        help\u003d\u0027Delete existing shard ranges; no questions asked.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_3022aa53","line":266,"range":{"start_line":266,"start_character":14,"end_line":266,"end_character":24},"updated":"2018-04-12 13:54:22.000000000","message":"nit: \u0027minimum DB timeout\u0027 - IIUC it can be overridden by the find ranges time in find_and_replace","commit_id":"0b1b2ae4e9d15dcd09f82d995ffc26b6d873feca"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"d5679c4011dfa6fbe191a0fed87b3dc36fea615d","unresolved":false,"context_lines":[{"line_number":347,"context_line":"    args \u003d parser.parse_args(args)"},{"line_number":348,"context_line":"    logger \u003d get_logger({}, name\u003d\u0027ContainerBroker\u0027, log_to_console\u003dTrue)"},{"line_number":349,"context_line":"    broker \u003d ContainerBroker(args.container_db, logger\u003dlogger,"},{"line_number":350,"context_line":"                             stale_reads_ok\u003dTrue)"},{"line_number":351,"context_line":"    broker.get_info()"},{"line_number":352,"context_line":"    print(\u0027Loaded db broker for %s.\u0027 % broker.path, file\u003dsys.stderr)"},{"line_number":353,"context_line":"    return args.func(broker, args)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_50cdde82","line":350,"range":{"start_line":350,"start_character":29,"end_line":350,"end_character":48},"updated":"2018-04-12 13:54:22.000000000","message":"off-topic: we might want to add\n\n  skip_commits\u003dTrue","commit_id":"0b1b2ae4e9d15dcd09f82d995ffc26b6d873feca"}]}
