tustvold commented on PR #465: URL: https://github.com/apache/arrow-rs-object-store/pull/465#issuecomment-3181340479
I think if anything this should be a config option of the store, not a PutOption, as you're then making assertions about the semantics of a store at a level where the underlying store has potentially been type erased. That being said I'm not really sure how this would actually help in practice, the types of error that idempotency gates retries for are where the outcome is not known - e.g. a timeout occured. If you blindly retry say a PutMode::Create you may now get an AlreadyExists error. Whilst this is technically idempotent, as idempotency refers to the server side state, you will still need retry/error handling machinery at the higher level to account for this and handle this. The fact PutMode::Create is being used is implicitly stating that blindly retrying is not the desired outcome, otherwise you could just use PutMode::Overwrite (which will retry such errors) -- 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 For queries about this service, please contact Infrastructure at: us...@infra.apache.org