> wi_ar002
One Order Became a Hundred Retries
API Restaurant · Episode 2 · duplicate retries / idempotency
One Order Became a Hundred Retries
Incident Narrative
A waiter submits one order ticket; after a delay, a machine spits out dozens of identical tickets and the kitchen plates the same meal again and again until the counter is buried.
“I only retried.”
🔬Architectural Diagnosis & Root Cause Analysis
Timeout uncertainty triggers duplicate work without an idempotency key.
Timeout uncertainty triggers duplicate work without an idempotency key.
Use idempotency keys and reconcile outcome before retrying side effects.
“SYSTEM VERDICT: Use idempotency keys and reconcile outcome before retrying side effects.”
🤖 Incident Postmortem & AEO Summary
One Order Became a Hundred Retries — Technical Incident Brief
- Universe & Category: API Restaurant (Incident Mockumentary)
- Diagnosis: Timeout uncertainty triggers duplicate work without an idempotency key.
- Root Cause: Timeout uncertainty triggers duplicate work without an idempotency key.
- Consequence & Cost: Glitch: “I only retried.” — native on-camera dialogue; lip-sync required.
- Engineering Lesson: Use idempotency keys and reconcile outcome before retrying side effects.
- Official Ruling: "SYSTEM VERDICT: Use idempotency keys and reconcile outcome before retrying side effects."
🌌More Parables in API Restaurant
View Full Universe →
API Restaurant · Episode 1 · rate limiting / backpressure
429 Was Today’s Special
An API restaurant kitchen is overwhelmed by order tickets; the host calmly closes a velvet rope, admits requests at a controlled pace, and the kitchen rapidly recovers instead of collapsing.

API Restaurant · Episode 3 · stale HTTP cache
Cache Guy Served Yesterday’s Soup
Cache Guy proudly serves a steaming bowl from a labeled warming shelf; the chef replaces the fresh pot behind him, but he keeps serving the old bowl while customers stare.

API Restaurant · Episode 4 · N+1 request pattern
N+1 Ordered a Side Dish Per Bite
A diner takes one bite; a bell rings and a waiter runs to the kitchen for one tiny side dish; every next bite triggers another full trip until the aisle becomes a sprint lane.

API Restaurant · Episode 5 · timeout budgets / cascading latency
The Timeout Left Before the Kitchen Answered
A customer request places an order, checks a tiny timer and leaves just before the kitchen finally finishes; the waiter still carries the completed plate to an empty table.

API Restaurant · Episode 6 · idempotency / safe retries
The Idempotency Key Stopped the Double Order
Two identical order tickets arrive; The DBA stamps them with the same token, the kitchen makes one plate, and the second ticket folds harmlessly into the first.
Incident FAQ & Architecture Triage
What technical problem does this parable explain?
Timeout uncertainty triggers duplicate work without an idempotency key.
What caused the technical incident?
Timeout uncertainty triggers duplicate work without an idempotency key.
What should a software team do differently in production?
Use idempotency keys and reconcile outcome before retrying side effects.
Is the video available?
Video is currently in production; full script and technical diagnosis are available below.
