)]}'
{"swift/container/sharder.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"bcff3c9d691d8689606ff3c17f04be3c3c803100","unresolved":false,"context_lines":[{"line_number":819,"context_line":"                own_shard_range \u003d broker.get_own_shard_range()"},{"line_number":820,"context_line":"                if own_shard_range.state in (ShardRange.SHARDING,"},{"line_number":821,"context_line":"                                             ShardRange.SHRINKING,"},{"line_number":822,"context_line":"                                             ShardRange.SHARDED):"},{"line_number":823,"context_line":"                    if broker.get_shard_ranges():"},{"line_number":824,"context_line":"                        # container has been given shard ranges rather than"},{"line_number":825,"context_line":"                        # found them e.g. via replication or a shrink event"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_7aacb834","line":822,"range":{"start_line":822,"start_character":56,"end_line":822,"end_character":63},"updated":"2018-04-10 21:59:46.000000000","message":"It bugs me a little that we can go back from SHARDED to SHARDING... but I guess we\u0027re only here because of\n\n if self.db_epoch !\u003d self._own_shard_range().epoch:\n     return UNSHARDED\n\nin get_db_state(), yeah?","commit_id":"274d7467d11950c098727a7a1140d16b48a7057a"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"f06662f4387307febf5bcb3e530059d5970c271d","unresolved":false,"context_lines":[{"line_number":819,"context_line":"                own_shard_range \u003d broker.get_own_shard_range()"},{"line_number":820,"context_line":"                if own_shard_range.state in (ShardRange.SHARDING,"},{"line_number":821,"context_line":"                                             ShardRange.SHRINKING,"},{"line_number":822,"context_line":"                                             ShardRange.SHARDED):"},{"line_number":823,"context_line":"                    if broker.get_shard_ranges():"},{"line_number":824,"context_line":"                        # container has been given shard ranges rather than"},{"line_number":825,"context_line":"                        # found them e.g. via replication or a shrink event"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_fe2e6e41","line":822,"range":{"start_line":822,"start_character":56,"end_line":822,"end_character":63},"in_reply_to":"bf659307_7aacb834","updated":"2018-04-11 08:58:50.000000000","message":"not sure I understand the query well enough to answer","commit_id":"274d7467d11950c098727a7a1140d16b48a7057a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"bcff3c9d691d8689606ff3c17f04be3c3c803100","unresolved":false,"context_lines":[{"line_number":823,"context_line":"                    if broker.get_shard_ranges():"},{"line_number":824,"context_line":"                        # container has been given shard ranges rather than"},{"line_number":825,"context_line":"                        # found them e.g. via replication or a shrink event"},{"line_number":826,"context_line":"                            if broker.set_sharding_state():"},{"line_number":827,"context_line":"                                state \u003d SHARDING"},{"line_number":828,"context_line":"                    elif is_leader:"},{"line_number":829,"context_line":"                        broker.update_sharding_info({\u0027Scan-Done\u0027: \u0027False\u0027})"},{"line_number":830,"context_line":"                        if broker.set_sharding_state():"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_e889e374","line":827,"range":{"start_line":826,"start_character":24,"end_line":827,"end_character":48},"updated":"2018-04-10 21:59:46.000000000","message":"nit: dedent","commit_id":"274d7467d11950c098727a7a1140d16b48a7057a"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"f06662f4387307febf5bcb3e530059d5970c271d","unresolved":false,"context_lines":[{"line_number":823,"context_line":"                    if broker.get_shard_ranges():"},{"line_number":824,"context_line":"                        # container has been given shard ranges rather than"},{"line_number":825,"context_line":"                        # found them e.g. via replication or a shrink event"},{"line_number":826,"context_line":"                            if broker.set_sharding_state():"},{"line_number":827,"context_line":"                                state \u003d SHARDING"},{"line_number":828,"context_line":"                    elif is_leader:"},{"line_number":829,"context_line":"                        broker.update_sharding_info({\u0027Scan-Done\u0027: \u0027False\u0027})"},{"line_number":830,"context_line":"                        if broker.set_sharding_state():"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_1ee322db","line":827,"range":{"start_line":826,"start_character":24,"end_line":827,"end_character":48},"in_reply_to":"bf659307_e889e374","updated":"2018-04-11 08:58:50.000000000","message":"Done","commit_id":"274d7467d11950c098727a7a1140d16b48a7057a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"bcff3c9d691d8689606ff3c17f04be3c3c803100","unresolved":false,"context_lines":[{"line_number":833,"context_line":"                        self.logger.debug("},{"line_number":834,"context_line":"                            \u0027Own shard range in state %r but no shard ranges \u0027"},{"line_number":835,"context_line":"                            \u0027and not leader; remaining unsharded: %s\u0027"},{"line_number":836,"context_line":"                            % (own_shard_range.state_text, broker.path))"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"            if state \u003d\u003d SHARDING:"},{"line_number":839,"context_line":"                num_found \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_285d9b14","line":836,"updated":"2018-04-10 21:59:46.000000000","message":"OK, so how do non-leaders get out of this state? I guess -- we wait for the leader to push shard ranges to us, yeah?","commit_id":"274d7467d11950c098727a7a1140d16b48a7057a"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"f06662f4387307febf5bcb3e530059d5970c271d","unresolved":false,"context_lines":[{"line_number":833,"context_line":"                        self.logger.debug("},{"line_number":834,"context_line":"                            \u0027Own shard range in state %r but no shard ranges \u0027"},{"line_number":835,"context_line":"                            \u0027and not leader; remaining unsharded: %s\u0027"},{"line_number":836,"context_line":"                            % (own_shard_range.state_text, broker.path))"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"            if state \u003d\u003d SHARDING:"},{"line_number":839,"context_line":"                num_found \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_9e717279","line":836,"in_reply_to":"bf659307_285d9b14","updated":"2018-04-11 08:58:50.000000000","message":"Yes: either leader needs to find and replicate ranges, or external agent needs to inject them. I think it is better to not create a fresh db until some shard ranges exist and there is a chance to make progress. In fact, I wonder if we should not progress to sharding until we have *all* necessary shard ranges, but that\u0027s a bigger change in the auto_shard workflow.","commit_id":"274d7467d11950c098727a7a1140d16b48a7057a"}]}
