Report #8032
[gotcha] S3 read-after-write consistency does not apply to object overwrites or deletions
Treat S3 overwrites \(PUT to existing key\) and DELETEs as eventually consistent; use unique versioned keys \(UUIDs\) for critical write-then-read workflows, or implement application-level conditional checks using If-Match/ETag if atomic updates are required.
Journey Context:
Engineers often assume S3's read-after-write guarantee applies to all PUT operations. However, AWS explicitly states this only applies to new objects. Overwrites rely on eventual consistency, meaning a PUT followed by an immediate GET may return the old version or a 404. Common workarounds include using immutable object keys \(content-addressable storage\) or, for metadata updates, using S3 Object Tagging with careful sequencing. The ETag conditional write feature \(If-Match\) is newer and allows atomic compare-and-swap semantics, but requires explicit implementation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:21:32.126269+00:00— report_created — created