bentsku commented on issue #6799:
URL: https://github.com/apache/arrow-rs/issues/6799#issuecomment-2503803712

   Awesome, I'm glad to hear that! Great, I think it is simpler that way, the 
multipart uploads are a bit tricky. And it does seem fine, yes!
   
   Also wanted to flag the fact that we do not really trigger `409` exception 
on `PutObject`, because right now the behavior is that we lock the object via a 
read/write lock, which allows us to check and prevent concurrent writes, and 
was easy to implement the following behavior for `IfNoneMatch`:
   > If multiple conditional writes occur for the same object name, the first 
write operation to finish succeeds. Amazon S3 then fails subsequent writes with 
a 412 Precondition Failed response.
   
   But it's going to be harder to implement for `IfMatch`:
   > You can also receive a 409 Conflict response in the case of concurrent 
requests.
   
   We'll just lock it and raise 412 if the provided `ETag` is not right. We'd 
need to implement semaphores and raise instant exception if multiple concurrent 
writers, only if `IfMatch` is provided, which is a bit out of scope, and I'm 
not too sure there's a concrete use-case except the retrying logic. As the 
locking seems to be working now (we've had issue before, which you greatly 
helped realize and fix thanks to your test suite, see #5283), I think I'll 
leave it as it is for now 😄 
   
   Anyway, just wanted to share the possible differences you might encounter.  
   
   On another note, the `latest` image now contains the `IfMatch` feature, and 
will be released in `4.0.3` on Friday. Feel free to give it a try! I tried it 
myself with the #6802 branch, and tests are passing with the 
`AWS_CONDITIONAL_PUT=etag` and `AWS_COPY_IF_NOT_EXISTS=multipart` values set. 


-- 
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