Aglet

How to verify request timeout handling and safe recovery

Verification must show that a timed-out request leaves a clear and safe outcome. Exercise delays before and after the durable boundary, replay the caller action, inspect final state and retry ownership, and check nearby success and error responses for contract drift.

Check whether the outcome improved

  1. Replay delays around the deadline

    Use the original route, method, input structure, account or dataset class, client and server deadlines, and representative dependency delays. Force a timeout before work commits and another after commit in a controlled environment. Record client feedback, server status, commit evidence, and final response.

  2. Check retry and confirmation behavior

    Retry a timed-out read and a timed-out write according to the intended contract. Confirm confirmation queries or idempotency prevent duplicate effects and that pending work is represented clearly. Compare record identifiers, versions, timestamps, and visible status before and after each attempt.

  3. Exercise neighboring failure paths

    Test validation, authorization, dependency failure, empty response, and a normal near-deadline success. Confirm status and error objects remain distinct and no partial state appears as success. Follow the original workflow to its next action and record any stale or misleading result.

What to carry forward

Classify timeout handling as safe, regressed, unchanged, or inconclusive with deadline, commit, retry, and final-state evidence attached. It passes only when callers can tell whether work completed, safe retries do not duplicate state, and neighboring errors retain clear semantics.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow