Closed Bug 1093930 Opened 10 years ago Closed 8 years ago

Return 503 + RetryAfter header for transient Token Server failures

Categories

(Cloud Services Graveyard :: Server: Token, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bobm, Assigned: rfkelly)

References

Details

Catch transient failures, such as an exhausted DB connection pool, from upstream sources and return a 503 response with a sensible RetryAfter header. A sliding RetryAfter isn't strictly necessary, but some fuzzing around the timer is desirable. The purpose is to gently back off and rebalance incoming traffic in scenarios where the service is temporarily overwhelmed, and to stop Fx clients from displaying the yellow error bar in these situations. It is plausible to address these events at the webserver front-end, in this case Openresty. However, in the interest of keeping application logic in the application itself, we should first consider the possibilities of putting it there.
For the particular case of db-related errors, we should really pull the connection-pool-handling stuff out of sync and put it in a shared util library for tokenserver to use.
The Nginx configuration for Tokenserver is doing this now. Closing this bug.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Product: Cloud Services → Cloud Services Graveyard
You need to log in before you can comment on or make changes to this bug.