Skip to content

ES-13905 Infinite retry for 403 CSP errors#144616

Open
zhubotang-wq wants to merge 12 commits intoelastic:mainfrom
zhubotang-wq:ES-13905
Open

ES-13905 Infinite retry for 403 CSP errors#144616
zhubotang-wq wants to merge 12 commits intoelastic:mainfrom
zhubotang-wq:ES-13905

Conversation

@zhubotang-wq
Copy link
Contributor

@zhubotang-wq zhubotang-wq commented Mar 20, 2026

Closes: ES-13905

Cloud storage services use an eventual consistency model for identity, access control, and metadata. As a result, they may occasionally return transient 403 Forbidden errors even when permissions are correctly configured. This class wraps the blobContainer to provide a dedicated retry mechanism initially for handling these 403 errors.

My intention is to separate the retry limit for a particular type of CSP error. I have considered the following options

Option 1: Application-Level Retry Wrapper. In this PR, I opted for this approach, the FilterBlobContainer already did most of the work for me and it is ideal suited for this purpose.

  • Ready available FilterBlobContainer
  • Completely separate retry budgets away from other types of errors in CSP

Option 2: I can dive into cloud client SDK.

Option 3: increase the overall retry budget.

I expect a fair amount iterations for this. But I feel a custom wrapper around blobStore that specifically retry in event of 403 is a fairly surgical way to increase robustness with small amount of risks.

@zhubotang-wq zhubotang-wq requested review from fcofdez and ywangd March 20, 2026 03:45
@zhubotang-wq
Copy link
Contributor Author

Initial elicitation for feedbacks.

@elasticsearchmachine elasticsearchmachine added v9.4.0 needs:triage Requires assignment of a team area label labels Mar 20, 2026
@zhubotang-wq zhubotang-wq added :Distributed/Distributed A catch all label for anything in the Distributed Area. Please avoid if you can. >non-issue and removed needs:triage Requires assignment of a team area label labels Mar 20, 2026
@elasticsearchmachine elasticsearchmachine added the Team:Distributed Meta label for distributed team. label Mar 20, 2026
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-distributed (Team:Distributed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Distributed/Distributed A catch all label for anything in the Distributed Area. Please avoid if you can. >non-issue Team:Distributed Meta label for distributed team. v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants