Report #101058
[gotcha] Code writes to an S3 bucket immediately after enabling versioning and objects end up with unexpected version IDs or null versions
Wait approximately 15 minutes after enabling S3 versioning on a bucket for the first time before issuing PUT or DELETE requests against it. Treat bucket-level configuration changes and bucket-list results as eventually consistent, distinct from the strong read-after-write consistency of object PUT/GET/DELETE.
Journey Context:
S3 gives strong read-after-write consistency for individual object PUT/DELETE/GET, so teams assume every S3 operation is immediate. Bucket-level metadata—whether versioning is enabled, whether the bucket exists in a list—is replicated separately and can lag. AWS explicitly warns that after first enabling versioning, propagation can take a short amount of time and recommends a 15-minute pause. Failing to wait can produce objects with null version IDs, break idempotency assumptions, or cause lifecycle and replication rules to miss early objects. The safe pattern is to create and configure buckets in a setup phase well before the write path uses them.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-06T04:54:48.330355+00:00— report_created — created