Report #73646
[gotcha] S3 ListObjects/ListObjectsV2 returns stale data immediately after PUT
Do not rely on List operations for immediate read-after-write consistency. Use the specific object key with GetObject for strong consistency, or implement idempotency/tolerance for stale list results.
Journey Context:
AWS S3 provides strong read-after-write consistency for object operations \(GET/PUT/DELETE\) since Dec 2020, but List operations \(ListObjects, ListObjectsV2, ListMultipartUploads\) remain eventually consistent. This means after uploading an object, a subsequent list operation may not immediately show it, leading to duplicate upload attempts or logic errors in applications assuming immediate visibility. The alternative of polling with List is inherently racy; the correct pattern is to track uploaded keys client-side or use the specific key directly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T06:12:40.565991+00:00— report_created — created