idempotence

term

programmingops culture

The property that doing something twice has the same effect as doing it once.

It is what makes retrying safe, and retrying is unavoidable: networks lose responses, so a client that got no answer cannot know whether the work happened. Without idempotence the only options are to risk duplicating the action or to risk skipping it. This is why payment interfaces take an idempotency key, why configuration tools describe desired state rather than steps, and why the interesting question about any interface is what happens when the same request arrives twice.

Also known as: idempotent

All glossary entries