)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"6770b87c8b7086d8bdf6bbb02251489f7b451da6","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Alistair Coles \u003calistairncoles@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-12-19 15:39:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"sq: fix s3_acl \u003d False HEAD"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I95b29ba218f6e0b2b78c3755f4feb87797e53455"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"889d2246_294c8dd8","line":7,"range":{"start_line":7,"start_character":17,"end_line":7,"end_character":22},"updated":"2023-12-19 15:45:10.000000000","message":"LOL, should be True of course","commit_id":"e74ce5f006a73cd07e0b4c9cbf960be828d19841"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"016c595b396978d23a08b16d6936b20f178478b6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Alistair Coles \u003calistairncoles@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-12-19 15:39:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"sq: fix s3_acl \u003d False HEAD"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I95b29ba218f6e0b2b78c3755f4feb87797e53455"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"65097a88_e25e7cb1","line":7,"range":{"start_line":7,"start_character":17,"end_line":7,"end_character":22},"in_reply_to":"889d2246_294c8dd8","updated":"2023-12-20 01:28:14.000000000","message":"Done","commit_id":"e74ce5f006a73cd07e0b4c9cbf960be828d19841"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1efe0228e55449798b96af6c379432c235cb9d57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2a0fb02f_395ecd8e","updated":"2023-12-19 15:52:21.000000000","message":"we can squash all this in and add some more unittests around acl handling w/ part-num","commit_id":"e74ce5f006a73cd07e0b4c9cbf960be828d19841"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"016c595b396978d23a08b16d6936b20f178478b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"43aea2d0_9ced5438","updated":"2023-12-20 01:28:14.000000000","message":"this was a big help - thanks!","commit_id":"916d61c61a95236fbed014001a3db4f7cb0a5cde"}],"swift/common/middleware/s3api/acl_handlers.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"6770b87c8b7086d8bdf6bbb02251489f7b451da6","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                query \u003d {}"},{"line_number":134,"context_line":"            else:"},{"line_number":135,"context_line":"                query \u003d {\u0027version-id\u0027: version_id}"},{"line_number":136,"context_line":"            if self.req.method \u003d\u003d \u0027HEAD\u0027:"},{"line_number":137,"context_line":"                # This HEAD for ACL is going to also be the definitive response"},{"line_number":138,"context_line":"                # to the client so we need to include client params. We don\u0027t"},{"line_number":139,"context_line":"                # do this for other client request methods because they may"}],"source_content_type":"text/x-python","patch_set":1,"id":"cfa56c21_19ab3ec6","line":136,"updated":"2023-12-19 15:45:10.000000000","message":"this feels wrong, I\u0027m going to explore making this more explicit in the subclass handler\n\nBut... in principle,  what\u0027s the goal here? only valid include s3api params? or only include versionId?","commit_id":"e74ce5f006a73cd07e0b4c9cbf960be828d19841"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"016c595b396978d23a08b16d6936b20f178478b6","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                query \u003d {}"},{"line_number":134,"context_line":"            else:"},{"line_number":135,"context_line":"                query \u003d {\u0027version-id\u0027: version_id}"},{"line_number":136,"context_line":"            if self.req.method \u003d\u003d \u0027HEAD\u0027:"},{"line_number":137,"context_line":"                # This HEAD for ACL is going to also be the definitive response"},{"line_number":138,"context_line":"                # to the client so we need to include client params. We don\u0027t"},{"line_number":139,"context_line":"                # do this for other client request methods because they may"}],"source_content_type":"text/x-python","patch_set":1,"id":"719f3888_7350d80d","line":136,"in_reply_to":"c24bce9b_9fe92afc","updated":"2023-12-20 01:28:14.000000000","message":"Acknowledged","commit_id":"e74ce5f006a73cd07e0b4c9cbf960be828d19841"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1efe0228e55449798b96af6c379432c235cb9d57","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                query \u003d {}"},{"line_number":134,"context_line":"            else:"},{"line_number":135,"context_line":"                query \u003d {\u0027version-id\u0027: version_id}"},{"line_number":136,"context_line":"            if self.req.method \u003d\u003d \u0027HEAD\u0027:"},{"line_number":137,"context_line":"                # This HEAD for ACL is going to also be the definitive response"},{"line_number":138,"context_line":"                # to the client so we need to include client params. We don\u0027t"},{"line_number":139,"context_line":"                # do this for other client request methods because they may"}],"source_content_type":"text/x-python","patch_set":1,"id":"c24bce9b_9fe92afc","line":136,"in_reply_to":"cfa56c21_19ab3ec6","updated":"2023-12-19 15:52:21.000000000","message":"right!?  what is even going on in ACLs!?\n\nIs the pre-flight request modified in some way; like you have to read existng object ACL before you PUT over it?  Same for GETs?  We *always* make a HEAD call to check sysmeta first, and then try to return the HEAD response from the (modified?) pre-flight request as an \"optimization\"?","commit_id":"e74ce5f006a73cd07e0b4c9cbf960be828d19841"}],"test/s3api/test_mpu.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"6770b87c8b7086d8bdf6bbb02251489f7b451da6","unresolved":true,"context_lines":[{"line_number":100,"context_line":"            extra_kwargs \u003d {}"},{"line_number":101,"context_line":"            if version is not None:"},{"line_number":102,"context_line":"                extra_kwargs[\u0027VersionId\u0027] \u003d version"},{"line_number":103,"context_line":"            for method in (self.client.get_object, self.client.head_object):"},{"line_number":104,"context_line":"                resp \u003d method(Bucket\u003dself.bucket_name, Key\u003dkey_name,"},{"line_number":105,"context_line":"                              PartNumber\u003dpart_num, **extra_kwargs)"},{"line_number":106,"context_line":"                self.assertEqual(206, resp[\u0027ResponseMetadata\u0027]["}],"source_content_type":"text/x-python","patch_set":1,"id":"83c552c9_10c36148","side":"PARENT","line":103,"updated":"2023-12-19 15:45:10.000000000","message":"I got confused debugging o split into two calls","commit_id":"6a6293b359b26a8b8dd7943ecdd2320abe88c248"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"016c595b396978d23a08b16d6936b20f178478b6","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            extra_kwargs \u003d {}"},{"line_number":101,"context_line":"            if version is not None:"},{"line_number":102,"context_line":"                extra_kwargs[\u0027VersionId\u0027] \u003d version"},{"line_number":103,"context_line":"            for method in (self.client.get_object, self.client.head_object):"},{"line_number":104,"context_line":"                resp \u003d method(Bucket\u003dself.bucket_name, Key\u003dkey_name,"},{"line_number":105,"context_line":"                              PartNumber\u003dpart_num, **extra_kwargs)"},{"line_number":106,"context_line":"                self.assertEqual(206, resp[\u0027ResponseMetadata\u0027]["}],"source_content_type":"text/x-python","patch_set":1,"id":"7ffeb18f_dae7f1ce","side":"PARENT","line":103,"in_reply_to":"3548c9e1_8346dd08","updated":"2023-12-20 01:28:14.000000000","message":"Acknowledged","commit_id":"6a6293b359b26a8b8dd7943ecdd2320abe88c248"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"1efe0228e55449798b96af6c379432c235cb9d57","unresolved":true,"context_lines":[{"line_number":100,"context_line":"            extra_kwargs \u003d {}"},{"line_number":101,"context_line":"            if version is not None:"},{"line_number":102,"context_line":"                extra_kwargs[\u0027VersionId\u0027] \u003d version"},{"line_number":103,"context_line":"            for method in (self.client.get_object, self.client.head_object):"},{"line_number":104,"context_line":"                resp \u003d method(Bucket\u003dself.bucket_name, Key\u003dkey_name,"},{"line_number":105,"context_line":"                              PartNumber\u003dpart_num, **extra_kwargs)"},{"line_number":106,"context_line":"                self.assertEqual(206, resp[\u0027ResponseMetadata\u0027]["}],"source_content_type":"text/x-python","patch_set":1,"id":"3548c9e1_8346dd08","side":"PARENT","line":103,"in_reply_to":"83c552c9_10c36148","updated":"2023-12-19 15:52:21.000000000","message":"this bit me too; I was throwing stuff at the wall trying to pickup more coverage.  Much better to make the testing independent - thanks for cleaning it up.","commit_id":"6a6293b359b26a8b8dd7943ecdd2320abe88c248"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"6770b87c8b7086d8bdf6bbb02251489f7b451da6","unresolved":true,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # all other partNumber args are valid"},{"line_number":243,"context_line":"        self._verify_part_num_response("},{"line_number":244,"context_line":"            self.client.get_object, key_name, mpu_etag)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        with self.assertRaises(ClientError) as caught:"},{"line_number":247,"context_line":"            self.client.get_object(Bucket\u003dself.bucket_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7d9bdc63_8d188a87","line":244,"updated":"2023-12-19 15:45:10.000000000","message":"I got confused seeing HEAD requests while debugging this test, so narrowed this assertion - HEAD is covered in the next test","commit_id":"e74ce5f006a73cd07e0b4c9cbf960be828d19841"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"016c595b396978d23a08b16d6936b20f178478b6","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # all other partNumber args are valid"},{"line_number":243,"context_line":"        self._verify_part_num_response("},{"line_number":244,"context_line":"            self.client.get_object, key_name, mpu_etag)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        with self.assertRaises(ClientError) as caught:"},{"line_number":247,"context_line":"            self.client.get_object(Bucket\u003dself.bucket_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"d881b721_52b23b9d","line":244,"in_reply_to":"7d9bdc63_8d188a87","updated":"2023-12-20 01:28:14.000000000","message":"Acknowledged","commit_id":"e74ce5f006a73cd07e0b4c9cbf960be828d19841"}]}
