)]}'
{"swift/proxy/controllers/container.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ba547b4ecb73f9fe435f898725a0eb203d93987a","unresolved":true,"context_lines":[{"line_number":278,"context_line":"        if all((req.method \u003d\u003d \"GET\", record_type \u003d\u003d \u0027auto\u0027,"},{"line_number":279,"context_line":"               resp_record_type.lower() \u003d\u003d \u0027shard\u0027)):"},{"line_number":280,"context_line":"            policy_key \u003d \u0027X-Backend-Storage-Policy-Index\u0027"},{"line_number":281,"context_line":"            if not (policy_key in req.headers or self.account_name.startswith("},{"line_number":282,"context_line":"                    self.app.auto_create_account_prefix + \u0027shards_\u0027)):"},{"line_number":283,"context_line":"                # undecorated root request!"},{"line_number":284,"context_line":"                if policy_key in resp.headers:"},{"line_number":285,"context_line":"                    # happy path, works on resp from cache or upgraded servers"}],"source_content_type":"text/x-python","patch_set":1,"id":"2a29121b_56159462","line":282,"range":{"start_line":281,"start_character":12,"end_line":282,"end_character":70},"updated":"2021-08-11 13:31:06.000000000","message":"I put an alternative here https://review.opendev.org/c/openstack/swift/+/804234 which uses the shard_listing_history","commit_id":"9be40868ac9a87fd4f26ace1225e48395cdfe7fd"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ba547b4ecb73f9fe435f898725a0eb203d93987a","unresolved":true,"context_lines":[{"line_number":285,"context_line":"                    # happy path, works on resp from cache or upgraded servers"},{"line_number":286,"context_line":"                    root_spi \u003d resp.headers[policy_key]"},{"line_number":287,"context_line":"                else:"},{"line_number":288,"context_line":"                    # upgrade path, fall back to a HEAD if we have to"},{"line_number":289,"context_line":"                    container_info \u003d self.container_info("},{"line_number":290,"context_line":"                        self.account_name, self.container_name, req)"},{"line_number":291,"context_line":"                    root_spi \u003d container_info[\u0027storage_policy\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"8d97845a_b1d895c4","line":288,"range":{"start_line":288,"start_character":22,"end_line":288,"end_character":34},"updated":"2021-08-11 13:31:06.000000000","message":"which upgrade is this? from pre-storage policies - if so the HEAD may not find it either?\n\nTim and I have independently reached the conclusion that we\u0027ll always have the header in the response","commit_id":"9be40868ac9a87fd4f26ace1225e48395cdfe7fd"}],"test/unit/proxy/controllers/test_container.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c6fb7f5a6b209bfaca3d5a150cba4747d11b8c7c","unresolved":true,"context_lines":[{"line_number":2111,"context_line":"            controller \u003d controller_cls(self.app, **d)"},{"line_number":2112,"context_line":"            controller._get_from_shards(req, resp)"},{"line_number":2113,"context_line":""},{"line_number":2114,"context_line":"        self.assertEqual({}, shard_listing_headers)"},{"line_number":2115,"context_line":""},{"line_number":2116,"context_line":"        # header in response -\u003e header added to request"},{"line_number":2117,"context_line":"        shard_listing_headers \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"5e0fa0e5_3719d1c1","side":"PARENT","line":2114,"updated":"2021-08-10 16:02:47.000000000","message":"i wasn\u0027t sure how to carry forward \"the spirit\" of these tests - the seemed pretty specific to the implementation","commit_id":"63c6933f5d938bea47c365407ab7cea0b015b033"}]}
