)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"b76aefe9eb5543586f4c7124f7480b7fe18d0213","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c69c659b_b55b5344","updated":"2022-09-09 18:15:38.000000000","message":"thanks for looking at this.","commit_id":"a964c5218a080c3be8bcb226a3978f6e63e2ecdf"}],"test/probe/test_sharder.py":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"b76aefe9eb5543586f4c7124f7480b7fe18d0213","unresolved":true,"context_lines":[{"line_number":3477,"context_line":"            shard_ranges[0].account, shard_ranges[0].container)"},{"line_number":3478,"context_line":"        self.container_replicators.once("},{"line_number":3479,"context_line":"            additional_args\u003d\u0027--partitions\u003d%s\u0027 % shard_part)"},{"line_number":3480,"context_line":"        root_node0_id \u003d self.brain.nodes[0][\u0027id\u0027]"},{"line_number":3481,"context_line":"        for node in [n for n in shard_nodes if n[\u0027id\u0027] !\u003d root_node0_id]:"},{"line_number":3482,"context_line":"            self.assert_container_state("},{"line_number":3483,"context_line":"                node, \u0027unsharded\u0027, 2, account\u003dshard_ranges[0].account,"}],"source_content_type":"text/x-python","patch_set":1,"id":"b1e0d24c_38629eb3","line":3480,"updated":"2022-09-09 18:15:38.000000000","message":"So \u0027id\u0027 is unique enough to identify different node? I feel a general helper function is useful for other cases too. Maybe we can simplify the helper function with this.","commit_id":"a964c5218a080c3be8bcb226a3978f6e63e2ecdf"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d3e151497ab51bd2bd0721c6b483272002e607d6","unresolved":true,"context_lines":[{"line_number":3477,"context_line":"            shard_ranges[0].account, shard_ranges[0].container)"},{"line_number":3478,"context_line":"        self.container_replicators.once("},{"line_number":3479,"context_line":"            additional_args\u003d\u0027--partitions\u003d%s\u0027 % shard_part)"},{"line_number":3480,"context_line":"        root_node0_id \u003d self.brain.nodes[0][\u0027id\u0027]"},{"line_number":3481,"context_line":"        for node in [n for n in shard_nodes if n[\u0027id\u0027] !\u003d root_node0_id]:"},{"line_number":3482,"context_line":"            self.assert_container_state("},{"line_number":3483,"context_line":"                node, \u0027unsharded\u0027, 2, account\u003dshard_ranges[0].account,"}],"source_content_type":"text/x-python","patch_set":1,"id":"8c4b5964_7d9b34d8","line":3480,"in_reply_to":"b1e0d24c_38629eb3","updated":"2022-09-10 05:05:59.000000000","message":"Yeah, \u0027id\u0027 should be enough -- it corresponds to the position in the ring\u0027s devs list; see https://github.com/openstack/swift/blob/2.30.0/swift/common/ring/builder.py#L430","commit_id":"a964c5218a080c3be8bcb226a3978f6e63e2ecdf"}]}
