Improve the retry strategy: Support the Retry-After
header & exponential retries
#495
Open
1 task done
Labels
dotnet-sdk
Affects the C#/DotNet SDK
enhancement
New feature or request
go-sdk
Affects the Go SDK
java-sdk
Affects the Java/Kotlin SDK
js-sdk
Affects the JavaScript SDK
python-sdk
Affects the Python SDK
Checklist
Describe the problem you'd like to have solved
Retry-After is a standard header used by APIs to indicate when the SDK can retry.
The SDKs should:
X-Rate-Limit-Reset
(currently only .NET SDK supports that), though still expose it in the logsCurrent State
2^loopCount * 100ms and 2^(loopCount + 1) * 100ms
2^loopCount * 100ms and 2^(loopCount + 1) * 100ms
2^loopCount * 100ms and 2^(loopCount + 1) * 100ms
Describe the ideal solution
Retry On
Max Allowable Retries
15
Default Number of Retries
SDKs: 3
CLI: 15
Retry Parameters
If
Retry-After
header is found, use itIf neither header is found, use exponential backoff but we'll add some jitter, so the retry is a random number between
2^loopCount * 500ms and 2^(loopCount + 1) * 500ms
That means:
Alternatives and current workarounds
No response
References
Additional context
No response
The text was updated successfully, but these errors were encountered: