Blog

SDK Timeout Errors Developers Can Act On

A timeout without the host, the limit, and whether you retried is a guess. Name the deadline, the endpoint template, and the next change. Do not hide timeouts inside a generic network error.

2026-07-02 · 7 min read · AethelLayer

Say what you waited for

Include the timeout you used, in seconds, and the host you called. A message that says 'timeout' could be DNS, TLS, or a slow handler. Those are different fixes.

Use a stable code such as REQUEST_TIMEOUT. HTTP 408 and a client-side deadline are not the same event. Do not collapse them into 'network error'.

Retries belong next to the timeout

If the SDK already retried twice, say so. Developers otherwise add their own loop and triple the load. If you did not retry, say the call failed once and what a safe retry looks like.

Honor a server Retry-After when you have one. Inventing a backoff on a 4xx validation error is how a sample hammers you.

Separate connect timeouts from read timeouts

A connect timeout means you never got a socket. A read timeout means the server accepted the call and then went quiet. The docs, the status page, and the firewall checklist are different.

Store that distinction on the probe with the route template. Do not store the full URL if it contains a token.

Read a timeout cluster as a default, not a mystery

If new SDK versions time out on one route, the default deadline is too short or that route got slower. The inbox should show the version and the route, not a pile of unique stack traces that all mean the same wait.

Change the default or the doc in the same week. A draft issue that only says 'timeout' will sit forever.

Capture the failure before they leave

Capture the failure before they leave. Book early access or talk to sales, then install @aethellayer/sdk when you are onboarded.