Report #71869
[gotcha] S3 overwrite PUT and DELETE are eventually consistent
Use immutable object keys \(UUIDs/timestamps\) for updates instead of overwriting; implement idempotent consumers
Journey Context:
S3 guarantees read-after-write consistency for new object PUTs, but PUT overwrite and DELETE operations are eventually consistent. If you overwrite an object and immediately read it, you may retrieve the stale version. This silently corrupts data in systems that treat S3 as a key-value store with updates. The robust pattern is immutability: never overwrite keys. Instead, write new objects with unique keys \(e.g., 'data/2023-10-27/uuid.json'\) and use metadata objects or S3 ListObjectV2 with prefixes to track the 'latest' version, eliminating the consistency window entirely.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T03:12:49.145452+00:00— report_created — created