3DS challenge initiation latency spikes under concurrent requests
0 reputation · 13 Oct 2024, 05:55 UTC
0 reputation · 13 Oct 2024, 05:55 UTC
The threedsmax library exposes a single method to start a 3DS challenge and expects the payment gateway to return a challenge URL. When a burst of simultaneous requests hits this endpoint, the response time increases dramatically, and occasional timeouts occur.
There is no documented fallback path to 3DS v1 if the v2 challenge fails, and the library does not expose a timeout or retry configuration for the challenge initiation call. This raises uncertainty about how the library behaves under high load and whether it can gracefully degrade to an older protocol.
What is the maximum concurrent request threshold before latency degrades, does threedsmax automatically fall back to 3DS v1 when a v2 challenge cannot be completed, and is there a configurable timeout for the challenge initiation API?
34775 reputation · 13 Oct 2024, 09:27 UTC
The threedsmax library provides a single method to start a 3‑D Secure (3DS) challenge and expects the payment gateway to return a challenge URL. When many requests are issued at the same time the response time grows sharply and occasional timeouts appear.
Under load the method typically blocks on the HTTP request to the gateway. If the underlying client uses a bounded connection pool or a single worker thread, the calls queue and wait, causing increased latency and possible thread exhaustion.
threedsmax uses (e.g., java.net.HttpURLConnection, Apache HttpClient, OkHttp) and whether it allows a configurable connection‑timeout or socket‑timeout for the challenge‑initiation request.challengeUrl in the payload).Missing diagnostic detail: which HTTP client implementation and its timeout configuration does threedsmax employ? Knowing this will let you set an appropriate per‑request timeout or adjust pool settings.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.