benesch opened a new pull request, #6682:
URL: https://github.com/apache/arrow-rs/pull/6682

   Add support for `PutMode::Create` and `copy_if_not_exists` on native AWS S3, 
which uses the underlying conditional write primitive that Amazon launched 
earlier this year [0].
   
   The conditional write primitive is simpler than what's available in other 
S3-like products (e.g., R2), so new modes for `s3_copy_if_not_exists` and 
`s3_conditional_put` are added to select the native S3-specific behavior.
   
   To maintain strict backwards compatibility (e.g. with older versions of 
LocalStack), the new behavior is not on by default. It must be explicitly 
requested by the end user.
   
   The implementation for `PutMode::Create` is straightforward. The 
implementation of `copy_if_not_exists` is a bit more involved, as it requires 
managing a multipart upload that uses the UploadPartCopy operation, which was 
not previously supported by this crate's S3 client.
   
   To ensure test coverage, the object store workflow now runs the AWS 
integration tests with conditional put both disabled and enabled.
   
   [0]: 
https://aws.amazon.com/about-aws/whats-new/2024/08/amazon-s3-conditional-writes/
   
   # Which issue does this PR close?
   
   Fix #6285.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to