v2.2.0: Commands a client may repeat run once per key.
Commands a client may repeat run once per key.
- IIdempotentExecutor: the first request with a key does the work and records its answer in the same transaction; a repeat gets that answer. Two requests racing with one key create one thing, decided by a unique index.
- A key reused for another operation, a failed attempt, an answer that must not be stored and a duplicate the work itself refuses each get their own outcome; see persistence.
- Opt in per service: modelBuilder.AddIdempotencyLog() and services.AddIdempotency(). Tested on PostgreSQL.
How to update a solution generated from an earlier version: upgrading.