mherrerarendon opened a new issue, #6697:
URL: https://github.com/apache/arrow-rs/issues/6697

   **Describe the bug**
   The AWS S3 variant of the interface has an option to do an unsigned payload, 
which should skip computing the payload checksum. However, in reality, the 
checksum is computed but then discarded, negating all performance improvements 
one should get by choosing to do an unsigned payload.
   
   The issue lies in this line: 
https://github.com/apache/arrow-rs/blob/37cd34dfb199474053c2ca578c6c2d79296e1540/object_store/src/aws/client.rs#L353
   
   I believe it should be checking `self.config.sign_payload` instead of 
`!self.config.skip_signature`
   
   **To Reproduce**
   Build a new amazon s3 object store with unsigned payloads
   ```
   let store = AmazonS3Builder::new()
       .with_unsigned_payload(true)
       ...
   ```
   Then put an object in the store. The outgoing request to s3 is correct, but 
the payload checksum generated here
   
https://github.com/apache/arrow-rs/blob/37cd34dfb199474053c2ca578c6c2d79296e1540/object_store/src/aws/client.rs#L355
   as a pre calculated digset is then discarded here
   
https://github.com/apache/arrow-rs/blob/37cd34dfb199474053c2ca578c6c2d79296e1540/object_store/src/aws/credential.rs#L167
   
   **Expected behavior**
   The checksum of the payload should never be computed if the unsigned payload 
config is set, even if the http request to s3 doesn't include the payload 
checksum
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to