Report #27444
[architecture] Handling duplicate requests during network retries without database constraints
Require client-generated UUID idempotency keys with server-side storage \(e.g., Redis/Postgres\) for 24h minimum retention; reject duplicate keys with 409 Conflict without re-executing business logic.
Journey Context:
Developers often use server-generated keys or hash the payload, which fails during clock skew or when optional fields change. The critical insight is that the client must generate the key upfront and persist it across retries \(e.g., localStorage or mobile disk\), while the server treats the key lookup as a atomic gate before any transaction begins. Stripe learned that 24h retention catches 99.9% of network blips without unbounded storage growth.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T00:27:35.236442+00:00— report_created — created