)]}'
{"swift/common/middleware/s3api/controllers/multi_upload.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2c831d23ac84e8f9154f74aa88e21474fedd3644","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        try:"},{"line_number":380,"context_line":"            seg_req \u003d copy.copy(req)"},{"line_number":381,"context_line":"            seg_req.environ \u003d copy.copy(req.environ)"},{"line_number":382,"context_line":"            seg_req.container_name \u003d seg_container"},{"line_number":383,"context_line":"            seg_req.get_container_info(self.app)"},{"line_number":384,"context_line":"        except NoSuchBucket:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_a831935b","line":381,"updated":"2019-10-09 15:07:21.000000000","message":"i think the copy is more obvious than mutation\n\nis there *ever* a good reason to the orig/finally on the incoming request instead of doing a copy?","commit_id":"8cab645f483a94434470a52d408fb4819f262382"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"cefb3ef885c0cbb9bec84fc1b2cca814a643a27c","unresolved":false,"context_lines":[{"line_number":378,"context_line":""},{"line_number":379,"context_line":"        try:"},{"line_number":380,"context_line":"            seg_req \u003d copy.copy(req)"},{"line_number":381,"context_line":"            seg_req.environ \u003d copy.copy(req.environ)"},{"line_number":382,"context_line":"            seg_req.container_name \u003d seg_container"},{"line_number":383,"context_line":"            seg_req.get_container_info(self.app)"},{"line_number":384,"context_line":"        except NoSuchBucket:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_23edc4ef","line":381,"in_reply_to":"3fa7e38b_a831935b","updated":"2019-10-09 15:28:18.000000000","message":"yeah, I was not a big fan of the mutation, even thou we do that a lot in other places. Although we don\u0027t typically change it back.","commit_id":"8cab645f483a94434470a52d408fb4819f262382"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2c831d23ac84e8f9154f74aa88e21474fedd3644","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                policy_name \u003d POLICIES[info[\u0027storage_policy\u0027]].name"},{"line_number":390,"context_line":"                hdrs \u003d {\u0027X-Storage-Policy\u0027: policy_name}"},{"line_number":391,"context_line":"                req.get_response(self.app, \u0027PUT\u0027, seg_container, \u0027\u0027,"},{"line_number":392,"context_line":"                                 headers\u003dhdrs)"},{"line_number":393,"context_line":"            except (BucketAlreadyExists, BucketAlreadyOwnedByYou):"},{"line_number":394,"context_line":"                pass"},{"line_number":395,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_2845a3b4","line":392,"updated":"2019-10-09 15:07:21.000000000","message":"should, this also be seg_req?","commit_id":"8cab645f483a94434470a52d408fb4819f262382"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"cefb3ef885c0cbb9bec84fc1b2cca814a643a27c","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                policy_name \u003d POLICIES[info[\u0027storage_policy\u0027]].name"},{"line_number":390,"context_line":"                hdrs \u003d {\u0027X-Storage-Policy\u0027: policy_name}"},{"line_number":391,"context_line":"                req.get_response(self.app, \u0027PUT\u0027, seg_container, \u0027\u0027,"},{"line_number":392,"context_line":"                                 headers\u003dhdrs)"},{"line_number":393,"context_line":"            except (BucketAlreadyExists, BucketAlreadyOwnedByYou):"},{"line_number":394,"context_line":"                pass"},{"line_number":395,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_e3a1ecaa","line":392,"in_reply_to":"3fa7e38b_2845a3b4","updated":"2019-10-09 15:28:18.000000000","message":"Nice catch, missed making that change.\nIt\u0027s not technically necessary because of the way s3api get_response is implemented, but I think that\u0027s confusing.","commit_id":"8cab645f483a94434470a52d408fb4819f262382"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"154d49d615cdc27f9f340795f6ff07165feb7a97","unresolved":false,"context_lines":[{"line_number":390,"context_line":"                hdrs \u003d {\u0027X-Storage-Policy\u0027: policy_name}"},{"line_number":391,"context_line":"                seg_req.get_response(self.app, \u0027PUT\u0027, seg_container, \u0027\u0027,"},{"line_number":392,"context_line":"                                     headers\u003dhdrs)"},{"line_number":393,"context_line":"            except (BucketAlreadyExists, BucketAlreadyOwnedByYou):"},{"line_number":394,"context_line":"                pass"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        obj \u003d \u0027%s/%s\u0027 % (req.object_name, upload_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_090b09d6","line":393,"updated":"2019-10-09 16:34:16.000000000","message":"We ought to catch (and ignore) 409s, too... which I *think* gets translated to a 500 at the moment in S3Request._get_response()?","commit_id":"d667affb6f0b0b125901a0c002ddb00322a8e4f4"}]}
