)]}'
{"swift/proxy/controllers/container.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a245bca42988e8c5a8c68985d88e50c330f34bfc","unresolved":true,"context_lines":[{"line_number":415,"context_line":"                return HTTPServiceUnavailable(request\u003dreq)"},{"line_number":416,"context_line":"            shard_policy \u003d shard_resp.headers.get("},{"line_number":417,"context_line":"                \u0027X-Backend-Record-Storage-Policy-Index\u0027,"},{"line_number":418,"context_line":"                shard_resp.headers[policy_key]"},{"line_number":419,"context_line":"            )"},{"line_number":420,"context_line":"            if shard_policy !\u003d req.headers[policy_key]:"},{"line_number":421,"context_line":"                self.app.logger.error("}],"source_content_type":"text/x-python","patch_set":4,"id":"b0ef716b_4d7f1fd8","line":418,"updated":"2021-08-16 21:56:16.000000000","message":"it\u0027s somewhat unintuative to me that our swift.common.header_key_dict.HeaderKeyDict won\u0027t KeyError when the shard_resp doesn\u0027t have a backend-spi header - but i guess it just returns None","commit_id":"2992f14176ca31918a02cbf5f52fe2a2852750db"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"c208e0a893e57cc9ba80e0f707854287b6a496ee","unresolved":true,"context_lines":[{"line_number":415,"context_line":"                return HTTPServiceUnavailable(request\u003dreq)"},{"line_number":416,"context_line":"            shard_policy \u003d shard_resp.headers.get("},{"line_number":417,"context_line":"                \u0027X-Backend-Record-Storage-Policy-Index\u0027,"},{"line_number":418,"context_line":"                shard_resp.headers[policy_key]"},{"line_number":419,"context_line":"            )"},{"line_number":420,"context_line":"            if shard_policy !\u003d req.headers[policy_key]:"},{"line_number":421,"context_line":"                self.app.logger.error("}],"source_content_type":"text/x-python","patch_set":4,"id":"863e5fc4_c6b5de43","line":418,"in_reply_to":"b0ef716b_4d7f1fd8","updated":"2021-08-17 08:08:57.000000000","message":"I tripped up on that too - in fact I \"fixed it\" and wrote a test, to then discover that HeaderKeyDict always defaults to None rather than KeyError :)","commit_id":"2992f14176ca31918a02cbf5f52fe2a2852750db"}],"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":"a245bca42988e8c5a8c68985d88e50c330f34bfc","unresolved":true,"context_lines":[{"line_number":1941,"context_line":""},{"line_number":1942,"context_line":"            if shard_policy is not None:"},{"line_number":1943,"context_line":"                shard_resp_hdrs[\u0027X-Backend-Storage-Policy-Index\u0027] \u003d \\"},{"line_number":1944,"context_line":"                    shard_policy"},{"line_number":1945,"context_line":""},{"line_number":1946,"context_line":"            size_all_objects \u003d sum([obj[\u0027bytes\u0027] for obj in sr_objs])"},{"line_number":1947,"context_line":"            num_all_objects \u003d len(sr_objs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a73ce008_0b56afab","line":1944,"updated":"2021-08-16 21:56:16.000000000","message":"and so this test never responds with backend-record-spi (i.e. it\u0027s un-upgraded servers)\n\nso either it\u0027s a little old (and wrong, i.e. returns different spi w/o a backend-record-spi) or WAY old (i.e. no backend-spi AT ALL)","commit_id":"2992f14176ca31918a02cbf5f52fe2a2852750db"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"a245bca42988e8c5a8c68985d88e50c330f34bfc","unresolved":true,"context_lines":[{"line_number":1952,"context_line":"                              \u0027X-Container-Bytes-Used\u0027: size_all_objects,"},{"line_number":1953,"context_line":"                              \u0027X-Container-Meta-Flavour\u0027: \u0027peach\u0027,"},{"line_number":1954,"context_line":"                              # NB root policy 1 differes from shard policy"},{"line_number":1955,"context_line":"                              \u0027X-Backend-Storage-Policy-Index\u0027: 1}"},{"line_number":1956,"context_line":"            root_shard_resp_hdrs \u003d dict(root_resp_hdrs)"},{"line_number":1957,"context_line":"            root_shard_resp_hdrs[\u0027X-Backend-Record-Type\u0027] \u003d \u0027shard\u0027"},{"line_number":1958,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"d90fc8c9_3bb21fc5","line":1955,"updated":"2021-08-16 21:56:16.000000000","message":"so root responds with 1","commit_id":"2992f14176ca31918a02cbf5f52fe2a2852750db"}]}
