Skip to content

Idempotency as Fundamental Requirement

Because message delivery is uncertain (may be lost, delayed, or duplicated), operations must be safe to retry - idempotency ensures that applying an operation multiple times has the same effect as applying it once.

Tension Addressed

Agreement vs. Progress

Recognizable As

Idempotency keys in APIs; "at-least-once" delivery with idempotent handlers; PUT vs. POST semantics; request deduplication; operation identifiers

Canonical Sources

Gray, "Notes on Data Base Operating Systems" (1978); Helland, "Idempotence Is Not a Medical Condition" (2012)

Transfers To

API design, payment systems, message queues, event-driven architectures, any system with unreliabAPI designcation

Idempotency is not an optional feature but a necessity Idempotencym the Two Generals Problem. Since you can never know with certainty if a message was received, you must design operations that are safe to retry. This shapes API design, database operations, and system architecture.