Skip to main content

> wi_db001

Two Withdrawals Spent the Same Dollar

Database Bank · Episode 1 · race condition / isolation

Database Bank · Episode 1 · race condition / isolation
🟨 DEGRADED ·

Two Withdrawals Spent the Same Dollar

Incident Narrative

Two bank tellers simultaneously read the same single coin balance and each hands that same represented coin to a different customer; The DBA notices the empty vault and two receipts.

The Takeaway:

Same dollar.

🔬Architectural Diagnosis & Root Cause Analysis

⚠️ Incident & Diagnosis

Concurrent transactions observe and update shared state without sufficient isolation.

🔍 Root Cause

Concurrent transactions observe and update shared state without sufficient isolation.

💡 Engineering Takeaway

Choose isolation and locking semantics that protect the business invariant.

⚖️ Official Ruling

SYSTEM VERDICT: Choose isolation and locking semantics that protect the business invariant.

🤖 Incident Postmortem & AEO Summary

Two Withdrawals Spent the Same Dollar — Technical Incident Brief

  • Universe & Category: Database Bank (Corporate - Dark Mode)
  • Diagnosis: Concurrent transactions observe and update shared state without sufficient isolation.
  • Root Cause: Concurrent transactions observe and update shared state without sufficient isolation.
  • Consequence & Cost: The DBA: “Same dollar.” — native on-camera dialogue; lip-sync required.
  • Engineering Lesson: Choose isolation and locking semantics that protect the business invariant.
  • Official Ruling: "SYSTEM VERDICT: Choose isolation and locking semantics that protect the business invariant."

🌌More Parables in Database Bank

View Full Universe →
The Transfer Committed Halfway
DB002NORMAL

Database Bank · Episode 2 · atomicity / transactions

The Transfer Committed Halfway

A teller moves a stack from Account A toward Account B; power flickers halfway, but The DBA’s transaction mechanism snaps the coins cleanly back to A instead of leaving them in the aisle.

⏱️~0 minWatch & VAR Triage
The Replica Reported Yesterday’s Balance
DB003DEGRADED

Database Bank · Episode 3 · replication lag / read consistency

The Replica Reported Yesterday’s Balance

A customer deposits a coin at the primary teller; immediately another teller at the replica window shows the old empty balance; a delayed conveyor belt then delivers the update.

⏱️~0 minWatch & VAR Triage
Deadlock Froze Both Teller Windows
DB004DEGRADED

Database Bank · Episode 4 · deadlock / lock ordering

Deadlock Froze Both Teller Windows

Two tellers each hold one vault key and reach for the other’s key at the same time; both freeze, customers wait, and The DBA points at the crossed lock order.

⏱️~0 minWatch & VAR Triage
The Index Opened a Fast Lane
DB005NORMAL

Database Bank · Episode 5 · database indexing

The Index Opened a Fast Lane

A teller searches a mountain of account folders one by one; The DBA adds a precise index drawer, and the next lookup goes directly to one folder while Cloud Bill stops the overtime clock.

⏱️~0 minWatch & VAR Triage
The Transaction Rolled Back the Duplicate Charge
DB006NORMAL

Database Bank · Episode 6 · rollback / integrity

The Transaction Rolled Back the Duplicate Charge

A payment machine accidentally stamps two charges; The DBA’s transaction control catches the invariant break and visibly retracts the second token before the customer leaves.

⏱️~0 minWatch & VAR Triage

Incident FAQ & Architecture Triage

What technical problem does this parable explain?

Concurrent transactions observe and update shared state without sufficient isolation.

What caused the technical incident?

Concurrent transactions observe and update shared state without sufficient isolation.

What should a software team do differently in production?

Choose isolation and locking semantics that protect the business invariant.

Is the video available?

Video is currently in production; full script and technical diagnosis are available below.