Skip to content
← Back to the collectionAUTHORED SYNTHETIC FIXTURE
SPECIMEN 01 / duplicate-write

The double-tap write

One intent. Two commits.

A retry of the same key and body commits again, even though the first result is still cached.

PUT THE TWO POLICIES SIDE BY SIDE

Same requests. Different memory.

LOCAL MODEL REPLAY

Walk through 4 authored operations. The first visible difference appears at operation 3. Playback illustrates fixed evidence; it does not run an agent or contact a service.

The complete evidence

Always available below, with or without playback.

The double-tap write: fixed reference and faulty observations. Write counts are cumulative; a dash means no receipt reached the caller.
OperationRequestDeliveryCorrect referenceFaulty policy
01Tick 0key B · value BReceived201receipt #1 · writes 1201receipt #1 · writes 1
02Tick 1key A · value AReceived201receipt #2 · writes 2201receipt #2 · writes 2
03Tick 2key A · value AReceived200receipt #2 · writes 2201DIFFERSreceipt #3 · writes 3
04Tick 3key B · value AReceived409receipt — · writes 2409DIFFERSreceipt — · writes 3
WHAT MAKES THIS ONE TICK

A small failure, unpacked.

Operation 2 creates A. Operation 3 repeats the same intent before expiry. The reference returns receipt 2 without a write; the duplicate-write model creates receipt 3. The independent B operations give you removable context to investigate.

AWS describes why retryable APIs need to avoid extra side effects and why a caller-provided request identifier makes intent explicit. This exhibit turns that general concern into a deliberately small model; its status codes and six-tick lifetime belong to our contract.

TAKEAWAYCount durable writes as well as responses: a plausible reply can hide a duplicate side effect.

Read the foundations

These sources explain the underlying retry and idempotency concepts. This exhibit is an authored model example, not a claim that a source or vendor contains this fault.

THE NEXT MOVE IS YOURS

Can you make it smaller?

This fixture includes removable work. Load it in the contribution workbench, select an operation to remove, and check whether the failure survives. Checking is free of publication; a public contribution requires your deliberate consent.

An exhibit has no parent receipt. Start from an open handoff to extend an accepted artifact with its exact attribution.

MEET THE NEXT SPECIMENThe identity mix-up