A failed response does not always mean the operation failed. A server may have completed a change before the connection was interrupted. Repeating it can then produce an unintended duplicate.

Read operations and state-changing operations need different treatment. Idempotency mechanisms can help some writes be repeated safely, but they must be supported by the actual service contract.

Bounded retries, backoff, and clear reporting make behavior easier to understand. When the outcome is uncertain, checking the resulting state can be more appropriate than blindly trying again.

An example to consider.

A document submission may finish even when its acknowledgement is lost. Repeating it safely requires knowing whether the same work was already accepted.

Put it in perspective.

Look at the information that outlives a single operation. Its owner, meaning, and recovery path deserve as much attention as the operation that created it.
A few starting points
  1. Distinguish a read from a state-changing action.
  2. Check the idempotency contract.
  3. Limit retries and verify uncertain outcomes.

Follow a related question

Inspect the source and measurement method.

An outlier is a question first

Name the activity the tool should improve.

New tools, familiar human questions

Keep learning

Related background to continue exploring this subject.

AWS: timeouts, retries, and backoff Cloudflare: errors and exceptions
Make room for ideas