dosubot[bot] commented on issue #6741:
URL: https://github.com/apache/opendal/issues/6741#issuecomment-3452470898

   <!-- Greeting -->
   Hi @wolfv! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the 
opendal team.
   
   <!-- Answer -->
   You're correct—OpenDAL does not currently treat HTTP 409 
(ConditionalRequestConflict) as retryable by default, and maintainers have 
stated that 4xx retry logic is handled case by case. According to the S3 docs, 
retrying on 409 is the right behavior for conditional uploads, so marking 409 
as retryable makes sense for your use case. The retry mechanism in OpenDAL will 
only retry if the error is marked as retryable in the unified retry handler, 
which is how other retryable errors are handled as well 
[source](https://github.com/apache/opendal/issues/1531) 
[source](https://github.com/apache/opendal/issues/196).
   
   To implement this, you'll want to locate where S3 HTTP errors are mapped to 
OpenDAL errors (likely in the S3 service implementation), and update the logic 
so that 409 responses are marked as retryable. This will ensure that the retry 
handler kicks in for these cases. If you need more detailed pointers on which 
files or enums to update, let me know!
   
   
   <!-- Dosu Comment Footer -->
   *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*
   
   ---
   <sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/3fa366b5-ca8f-4f1a-b815-e575927b3a98?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/3fa366b5-ca8f-4f1a-b815-e575927b3a98?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/3fa366b5-ca8f-4f1a-b815-e575927b3a98?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/3fa366b5-ca8f-4f1a-b815-e575927b3a98?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/3fa366b5-ca8f-4f1a-b815-e575927b3a98?feedback_type=hallucination)
 | [Report 
🐛](https://app.dosu.dev/response-feedback/3fa366b5-ca8f-4f1a-b815-e575927b3a98?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/3fa366b5-ca8f-4f1a-b815-e575927b3a98?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/997a2c5a-0c54-497b-989d-44651635dd36/ask?utm_source=githu
 b)&nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/opendal/issues/6741)


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