Hi,
I've got this error when trying to put acl in objects that are a multipart upload with s3api client.
aws s3api put-object-acl --bucket ramac --key darwin --acl public-read
An error occurred (BadDigest) when calling the PutObjectAcl operation (reached max retries: 4): The Content-MD5 you specified did not match what we received.
And for objects greater than 5Gb the error is:
An error occurred (EntityTooLarge) when calling the PutObjectAcl operation: Your proposed upload exceeds the maximum allowed object size.
I noticed this is happening because s3 middleware did not recognize this object as an SLO, so when the request reaches the ServerSideCopyMiddleware, the request did not have the query param "multipart-manifest".
I tried this swift patch, to solve this problem, identifying if the object is an SLO, on head object in acl_handlers.py class, and retrieving this information before request transformation to swift_request, adding the query param.
While this patch resolves the immediate issue, I believe there's room for improvement. I welcome any suggestions or feedback on enhancing this patch further. Your insights would be greatly appreciated.
Best regards