)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"d30369368c4197d2dd0901fc78e633d4e46bc1c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6848d9e7_9a33c134","updated":"2024-01-02 16:20:25.000000000","message":"I\u0027m not confident that I\u0027m not being confused here, so no -1, but does max_part work as intended here? Please see comment.","commit_id":"448605c67ee0e66b006e6b3f56144b1a312d58e8"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"d91e9a1cabd2782581feb7ae82d8f332e66cd285","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4378e7f8_89e077ed","updated":"2024-01-03 22:18:46.000000000","message":"This looks correct to me, i am gonna go ahead and squash it into https://review.opendev.org/c/openstack/swift/+/904234","commit_id":"11ad48cb75c8d90d9401182aea8746c2b4b6f81f"}],"swift/common/middleware/s3api/s3request.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"d30369368c4197d2dd0901fc78e633d4e46bc1c9","unresolved":true,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"        To be valid, a partNumber must satisfy two criteria. First, it must be"},{"line_number":567,"context_line":"        an integer between 1 and the maximum allowed parts, inclusive. The"},{"line_number":568,"context_line":"        maximum allowed parts is the maximum of ``max_parts`` and, if given,"},{"line_number":569,"context_line":"        ``num_parts``. Second, the partNumber must be less than or equal to the"},{"line_number":570,"context_line":"        ``parts_count``, if it is given."},{"line_number":571,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"072fb037_476701ce","line":568,"updated":"2024-01-02 16:20:25.000000000","message":"I\u0027m confused... Isn\u0027t it the minimum of the two? If the required part number is greater than max_parts, then it\u0027s not valid, right? Seems like a minimum to me.\n\nNote that the actual code is consistent with the comment and calculates maximum. E.g. it allows a greater number than max_parts. See line 591.","commit_id":"448605c67ee0e66b006e6b3f56144b1a312d58e8"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"5fe54411ce0e876bc8fabd50c59fe9ccd376d5aa","unresolved":true,"context_lines":[{"line_number":565,"context_line":""},{"line_number":566,"context_line":"        To be valid, a partNumber must satisfy two criteria. First, it must be"},{"line_number":567,"context_line":"        an integer between 1 and the maximum allowed parts, inclusive. The"},{"line_number":568,"context_line":"        maximum allowed parts is the maximum of ``max_parts`` and, if given,"},{"line_number":569,"context_line":"        ``num_parts``. Second, the partNumber must be less than or equal to the"},{"line_number":570,"context_line":"        ``parts_count``, if it is given."},{"line_number":571,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"133e816c_b9a94445","line":568,"in_reply_to":"072fb037_476701ce","updated":"2024-01-02 16:50:07.000000000","message":"For a part upload, we\u0027d call this method with parts_count\u003dNone and the maximum allowed partNumber would then be the configured max.\n\nBut for GET or HEAD, if the object exists with ``parts_count \u003e configured max parts``, then we need to allow ``partNumber \u003e configured max parts``, otherwise the client gets a 400 and can never retrieve all the parts. Hence taking the max.\n\nIt\u0027s only relevant when the configured ``max_upload_part_num`` has been reduced, so that there may exist objects with more than the currently configured ``max_upload_part_num``.\n\nThe second of the two criteria takes care of ``partNumber \u003e parts_count``, which results in a 416.","commit_id":"448605c67ee0e66b006e6b3f56144b1a312d58e8"}]}
