)]}'
{"swift/container/sharder.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"8abebd37841f55fb603d611240c0aec3973060a2","unresolved":false,"context_lines":[{"line_number":981,"context_line":"            shard_ranges \u003d broker.get_shard_ranges(states\u003d[ShardRange.ACTIVE])"},{"line_number":982,"context_line":"        candidates \u003d []"},{"line_number":983,"context_line":"        for shard_range in shard_ranges:"},{"line_number":984,"context_line":"            if shard_range.state !\u003d ShardRange.ACTIVE:"},{"line_number":985,"context_line":"                continue"},{"line_number":986,"context_line":"            if shard_range.object_count \u003c self.shard_container_size:"},{"line_number":987,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"df7087c5_f14ed536","line":984,"range":{"start_line":984,"start_character":15,"end_line":984,"end_character":53},"updated":"2018-03-21 09:39:29.000000000","message":"I think this will prevent bootstrapping the root to shard, because the root\u0027s own shard range default to FOUND (?)\n\nNote that other than when passing own shard range to the method, the shard_ranges have already been filtered by state\u003dACTIVE (line 981).\n\nWe could just add doc that caller should be sure about the state of ranges passed in. But I like the idea of being more defensive, and we should figure out how to bootstrap the root\u0027s own shard range to ACTIVE.","commit_id":"a5ed1145fb0f53f4e35e5a581b20f28ae384e19a"}]}
