- Author: xxchan [email protected]
- Start Date: 2021-06-24
- RFC PR: beyondstorage/specs#127
- Tracking Issue: beyondstorage/go-storage#612
These are common errors, especially in HTTP-based services, but also apply to RPC-based services. And they are retryable errors. If we provide them, users can retry only them instead of all errors.
I propose to add the following global error codes:
ErrServiceInternal
: e.g., HTTP 5xxErrRequestThrottled
: e.g., HTTP 429 Too Many Requests/Limit Exceeded, 503 SlowDown, ...
Alternative names
ErrServer
/ErrInternal
&ErrThrottling
/ErrThrottled
: short, but not conform toErr<Noun><Predicate>
ErrServerThrottling
: maybe not as common asRequestThrottled
?- Other throttling error code names:
- TooManyRequests
- ProvisionedThroughputExceeded
- TransactionInProgress
- RequestLimitExceeded
- BandwidthLimitExceeded
- LimitExceeded
- SlowDown
- PriorRequestNotComplete
New error codes, do not break users.
- Add the error codes in
go-storage
. - Add them in the doc.
- Use them in
formatError
ingo-service-*