[swift][s3api] put-object-acl in SLO objects
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-readAn 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. https://paste.openstack.org/show/bd2nAHIHPtUtDNbWLorD/ Best regards -- _‘Esta mensagem é direcionada apenas para os endereços constantes no cabeçalho inicial. Se você não está listado nos endereços constantes no cabeçalho, pedimos-lhe que desconsidere completamente o conteúdo dessa mensagem e cuja cópia, encaminhamento e/ou execução das ações citadas estão imediatamente anuladas e proibidas’._ * **‘Apesar do Magazine Luiza tomar todas as precauções razoáveis para assegurar que nenhum vírus esteja presente nesse e-mail, a empresa não poderá aceitar a responsabilidade por quaisquer perdas ou danos causados por esse e-mail ou por seus anexos’.*
participants (1)
-
Thiago De Moraes Teixeira