)]}'
{"swift/cli/info.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"31f554c7557b3a733aca5d95ce71c8b14129cd60","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        sranges \u003d broker.get_shard_ranges()"},{"line_number":458,"context_line":"        if sranges:"},{"line_number":459,"context_line":"            info[\u0027shard_ranges\u0027] \u003d sranges"},{"line_number":460,"context_line":"    print_db_info_metadata(db_type, info, broker.metadata, drop_prefixes, verbose)"},{"line_number":461,"context_line":"    try:"},{"line_number":462,"context_line":"        ring \u003d Ring(swift_dir, ring_name\u003ddb_type)"},{"line_number":463,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_cb79e0fc","line":460,"updated":"2020-06-19 20:08:08.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"258a6bd3ff1edeffb9c31b2c5c8ab7c484313ccd"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1eeb50234ea42f9112d5ca2230a3a412872f7ae8","unresolved":false,"context_lines":[{"line_number":312,"context_line":"    if info.get(\u0027shard_ranges\u0027):"},{"line_number":313,"context_line":"        num_shards \u003d len(info[\u0027shard_ranges\u0027])"},{"line_number":314,"context_line":"        print(\u0027Shard Ranges (%d):\u0027 % num_shards)"},{"line_number":315,"context_line":"        if num_shards \u003e 10 and not verbose:"},{"line_number":316,"context_line":"            print(\u0027  (More than 10 shard ranges; use -v/--verbose to show)\u0027)"},{"line_number":317,"context_line":"        else:"},{"line_number":318,"context_line":"            for srange in info[\u0027shard_ranges\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_8a5e2de7","line":315,"updated":"2020-06-30 20:34:42.000000000","message":"I don\u0027t like the magic number here","commit_id":"01aef1ed4fa05a89b752990a4c033ebd59b7e4b3"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"ab7834f1f3fdc8f9b16573c746c73660568c6819","unresolved":false,"context_lines":[{"line_number":312,"context_line":"    if info.get(\u0027shard_ranges\u0027):"},{"line_number":313,"context_line":"        num_shards \u003d len(info[\u0027shard_ranges\u0027])"},{"line_number":314,"context_line":"        print(\u0027Shard Ranges (%d):\u0027 % num_shards)"},{"line_number":315,"context_line":"        if num_shards \u003e 10 and not verbose:"},{"line_number":316,"context_line":"            print(\u0027  (More than 10 shard ranges; use -v/--verbose to show)\u0027)"},{"line_number":317,"context_line":"        else:"},{"line_number":318,"context_line":"            for srange in info[\u0027shard_ranges\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_99df6239","line":315,"in_reply_to":"bf51134e_8a5e2de7","updated":"2020-07-06 19:03:59.000000000","message":"Fair -- I was mainly thinking that when things are small enough that I can hold them all in my head, I can probably eyeball the shards and estimate some stats.","commit_id":"01aef1ed4fa05a89b752990a4c033ebd59b7e4b3"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1eeb50234ea42f9112d5ca2230a3a412872f7ae8","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        num_shards \u003d len(info[\u0027shard_ranges\u0027])"},{"line_number":314,"context_line":"        print(\u0027Shard Ranges (%d):\u0027 % num_shards)"},{"line_number":315,"context_line":"        if num_shards \u003e 10 and not verbose:"},{"line_number":316,"context_line":"            print(\u0027  (More than 10 shard ranges; use -v/--verbose to show)\u0027)"},{"line_number":317,"context_line":"        else:"},{"line_number":318,"context_line":"            for srange in info[\u0027shard_ranges\u0027]:"},{"line_number":319,"context_line":"                srange \u003d dict(srange, state_text\u003dsrange.state_text)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_6a3119a3","line":316,"updated":"2020-06-30 20:34:42.000000000","message":"i bet we could cook up a few useful numbers here - get a feel for how many shards in each state and... maybe counts of objects?","commit_id":"01aef1ed4fa05a89b752990a4c033ebd59b7e4b3"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"ec53b7a505b6c4ce625a0611abc499dfb3c53942","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        print(\u0027Shard Ranges (%d):\u0027 % num_shards)"},{"line_number":316,"context_line":"        count_by_state \u003d defaultdict(int)"},{"line_number":317,"context_line":"        for srange in info[\u0027shard_ranges\u0027]:"},{"line_number":318,"context_line":"            count_by_state[(srange.state, srange.state_text)] +\u003d 1"},{"line_number":319,"context_line":"        print(\u0027  States:\u0027)"},{"line_number":320,"context_line":"        for key_state, count in sorted(count_by_state.items()):"},{"line_number":321,"context_line":"            key, state \u003d key_state"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_e8c83422","line":318,"range":{"start_line":318,"start_character":28,"end_line":318,"end_character":40},"updated":"2020-07-23 17:11:12.000000000","message":"We aren\u0027t actually using this below -- should we?","commit_id":"67e3830ab92ff32d16d32320cf30b67dca671515"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"ec53b7a505b6c4ce625a0611abc499dfb3c53942","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        for srange in info[\u0027shard_ranges\u0027]:"},{"line_number":318,"context_line":"            count_by_state[(srange.state, srange.state_text)] +\u003d 1"},{"line_number":319,"context_line":"        print(\u0027  States:\u0027)"},{"line_number":320,"context_line":"        for key_state, count in sorted(count_by_state.items()):"},{"line_number":321,"context_line":"            key, state \u003d key_state"},{"line_number":322,"context_line":"            print(\u0027    %9s: %s\u0027 % (state, count))"},{"line_number":323,"context_line":"        if verbose:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_28d34cd7","line":320,"range":{"start_line":320,"start_character":12,"end_line":320,"end_character":21},"updated":"2020-07-23 17:11:12.000000000","message":"nit: If we do want to include the numeric state, we could do\n\n for (key, state), count in ...","commit_id":"67e3830ab92ff32d16d32320cf30b67dca671515"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"424ae525768888ef2608328a3641833c2f009484","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        for srange in info[\u0027shard_ranges\u0027]:"},{"line_number":318,"context_line":"            count_by_state[(srange.state, srange.state_text)] +\u003d 1"},{"line_number":319,"context_line":"        print(\u0027  States:\u0027)"},{"line_number":320,"context_line":"        for key_state, count in sorted(count_by_state.items()):"},{"line_number":321,"context_line":"            key, state \u003d key_state"},{"line_number":322,"context_line":"            print(\u0027    %9s: %s\u0027 % (state, count))"},{"line_number":323,"context_line":"        if verbose:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_713fecb4","line":320,"range":{"start_line":320,"start_character":12,"end_line":320,"end_character":21},"in_reply_to":"bf51134e_28d34cd7","updated":"2020-07-23 18:28:48.000000000","message":"i think i just wanted the order to be stable and the enum seemed to have some rough idea of:\n\nfound \u003d\u003e created \u003d\u003e cleaved \u003d\u003e active\n\ni dunno if we need to *display* the number, unpacking during iteration would have been an improvement","commit_id":"67e3830ab92ff32d16d32320cf30b67dca671515"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"ba970e07e3bf1526e8c8a6c795583b3e52658330","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        for srange in info[\u0027shard_ranges\u0027]:"},{"line_number":318,"context_line":"            count_by_state[(srange.state, srange.state_text)] +\u003d 1"},{"line_number":319,"context_line":"        print(\u0027  States:\u0027)"},{"line_number":320,"context_line":"        for key_state, count in sorted(count_by_state.items()):"},{"line_number":321,"context_line":"            key, state \u003d key_state"},{"line_number":322,"context_line":"            print(\u0027    %9s: %s\u0027 % (state, count))"},{"line_number":323,"context_line":"        if verbose:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_bdd4b520","line":320,"range":{"start_line":320,"start_character":12,"end_line":320,"end_character":21},"in_reply_to":"bf51134e_713fecb4","updated":"2020-07-23 23:07:22.000000000","message":"Oh, good call -- I wasn\u0027t thinking about the sorting!","commit_id":"67e3830ab92ff32d16d32320cf30b67dca671515"}]}
