Idempotency, and Why Retries Need It
A network can't tell a client whether its request failed or only its reply did. Idempotent operations make that ambiguity safe to retry through.
Building and maintaining software systems, and the practices around them.
A network can't tell a client whether its request failed or only its reply did. Idempotent operations make that ambiguity safe to retry through.
Questions about what makes something persist through change — and an unexpected echo of them in software.
Over a network, a client that times out cannot know what happened. So it will retry — and the system must be built to survive that.