22 lines
566 B
Markdown
22 lines
566 B
Markdown
# 09 Errors Retries
|
|
|
|
Standards:
|
|
|
|
- Normalize Uber error responses
|
|
- Define retryable vs non-retryable errors
|
|
- Enforce idempotent writes where possible
|
|
- Capture request/response logs for debugging
|
|
|
|
Implemented behavior:
|
|
|
|
- 4xx errors are treated as client/fatal (no retry by default).
|
|
- Transient retries use exponential backoff + jitter for:
|
|
- `408`, `429`, `502`, `503`, `504`
|
|
- network timeout/reset/connectivity failures
|
|
- Max attempts: `4` (initial + 3 retries).
|
|
- Error response contract includes:
|
|
- `code`
|
|
- `transient`
|
|
- `message`
|
|
- `requestId`
|