)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"051a1ff1684fc419e47344cfedc1f32590664500","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"60a91584_d2d70cd4","updated":"2024-01-26 17:50:47.000000000","message":"AWS S3 will return a 400 if part number AND Range are sent, even for a single part object https://review.opendev.org/c/openstack/swift/+/906906\n\nThat\u0027s FYI - doesn\u0027t mean SLO has to be the same, but might be worth considering if we have a use-case to be different.\n\nUnfortunately Swift s3api (proposed patch) does not yet match S3 https://review.opendev.org/c/openstack/swift/+/906906","commit_id":"2bdf2489e71a75730adbe5905aa62075c0cbbbee"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"931f369c387366c685da2fffe1596e72c300d83b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"e0716049_82df88ef","updated":"2024-09-24 16:34:56.000000000","message":"recheck","commit_id":"be609813b5949386d972a6a38111fd4f68b73545"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"e35415b582993373a36bf6ec367133f6bc3d7369","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"d51c572a_49ce5262","updated":"2024-10-16 16:42:08.000000000","message":"recheck","commit_id":"bbba9c60ce849c117b3cd33c65f205ebcd1f6838"}],"swift/common/middleware/slo.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f4fff9ebfe621b84a1607222789046b3525dee90","unresolved":true,"context_lines":[{"line_number":626,"context_line":"                for start, end in req.range.ranges_for_length("},{"line_number":627,"context_line":"                    part_end + 1 - part_start)]"},{"line_number":628,"context_line":"            if not ranges:"},{"line_number":629,"context_line":"                ranges \u003d [(part_start, part_end)]"},{"line_number":630,"context_line":"        else:"},{"line_number":631,"context_line":"            ranges \u003d [(part_start, part_end)]"},{"line_number":632,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"90971f25_4b98a97a","line":629,"updated":"2024-03-15 16:22:05.000000000","message":"Alternatively, 416?","commit_id":"2bdf2489e71a75730adbe5905aa62075c0cbbbee"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"7624d1192d897389a7940fc4cffe637ee946643b","unresolved":true,"context_lines":[{"line_number":626,"context_line":"                for start, end in req.range.ranges_for_length("},{"line_number":627,"context_line":"                    part_end + 1 - part_start)]"},{"line_number":628,"context_line":"            if not ranges:"},{"line_number":629,"context_line":"                ranges \u003d [(part_start, part_end)]"},{"line_number":630,"context_line":"        else:"},{"line_number":631,"context_line":"            ranges \u003d [(part_start, part_end)]"},{"line_number":632,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"faa0e8e2_a518e316","line":629,"in_reply_to":"90971f25_4b98a97a","updated":"2024-10-16 23:40:56.000000000","message":"This is uncharted territory since Alistair mentioned earlier AWS simply `400`s a request which has both part-num query and range in its request, we could simply 416 and call it a day or alternatively we could support  it and then do what the existing behavior in this patch is. \n\nThoughts ?","commit_id":"2bdf2489e71a75730adbe5905aa62075c0cbbbee"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"46dac82769a23b2213336abe2474414c96eb302c","unresolved":true,"context_lines":[{"line_number":626,"context_line":"                for start, end in req.range.ranges_for_length("},{"line_number":627,"context_line":"                    part_end + 1 - part_start)]"},{"line_number":628,"context_line":"            if not ranges:"},{"line_number":629,"context_line":"                ranges \u003d [(part_start, part_end)]"},{"line_number":630,"context_line":"        else:"},{"line_number":631,"context_line":"            ranges \u003d [(part_start, part_end)]"},{"line_number":632,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"a2d14419_38c67f2e","line":629,"in_reply_to":"faa0e8e2_a518e316","updated":"2024-10-16 23:41:47.000000000","message":"I meant uncharted in terms of compatibility with S3","commit_id":"2bdf2489e71a75730adbe5905aa62075c0cbbbee"}]}
