What does read-after-write persistence mean for a new PUT object in S3?
Amazon documentation ( http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html#ConsistencyModel ):
"Amazon S3 provides read-after-write consistency for PUTS of new objects in your S3 bucket across all regions with one caveat."
Ignoring the caveat, this means that a client issuing a GET after a PUT on a new object is guaranteed to get the correct result. My question is, will the guarantee apply if the GET is issued from a different client than the one that made the PUT (unless of course the GET follows the PUT in chronological order)? In other words, is read-write-write consistency just consistent with your write, or does it work for all clients?
I suspect the answer is that it works globally, but cannot find a definitive answer.
source to share
Yes, that would be consistent.
The concept of "client" is irrelevant as each API call is independent.
The region us-east-1
(formerly known as US-Standard
) did not previously have consistency after recording, but it is now provided across all regions .
source to share
I have always assumed that this is the same you, i.e. that read-after-write applies to all clients, not just the client who wrote.
This blog post seems to confirm it (for what it's worth), but I also didn't find a definitive answer to the official AWS docs:
https://shlomoswidler.com/2009/12/read-after-write-consistency-in-amazon.html
What is post-write consistency?
The post-read consistency is a little addictive, guaranteeing immediate visibility of new data to all customers. With read-after-write consistency, a newly created object or line in a file or table will be immediately visible, without any delay.
source to share