Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
3
-
SDK46, SDK48
Description
Original Requirements
As part of recent server changes in FTS which will respect the configured quota, the server now pushes back requests if it can't handle them within quota.
On a FTS request, the server will respond with a HTTP 429 status code. Once this status code is reached, the client should perform a retry with backoff that might or might not be user configurable based on the sdk's best practices.
Note that it is important to perform backoff before sending it again in round-robin, because behind the scenes the server is performing the request scatter-gather, so we need to give it time to cool off.
New Considerations
We should also verify that any new logic around any upcoming throttling features will also survive these original rules that other SDKs have implemented. If not, then we should open a discussion with the FTS team about getting a more explicit indicator about when an operation should retry (similar to how Query provides a retry indicator).
Background
This behavior was missed all the way back in SDK 2 from CBD-2661 and CCBC-974, and as a result, never made it into SDK 3 LCB, nor the old wrappers, nor the new C++ SDK, nor the new wrappers. We have verified that the other SDKs do honor this new behavior.
Attachments
Issue Links
- Clones
-
CCBC-974 Handle HTTP 429 for FTS
- Closed