What does read-after-write consistency really mean on new object PUT in S3?

前端 未结 3 1910
抹茶落季
抹茶落季 2021-02-12 06:15

Amazon documentation (http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html#ConsistencyModel) states:

\"Amazon S3 provides read-after-write consistency for P

相关标签:
3条回答
  • 2021-02-12 06:36

    Yes, it would be consistent.

    The concept of a 'client' is irrelevant because each API call is independent.

    The us-east-1 region (previously known as US-Standard) previously did not have read-after-write consistency, but it is now provided in all regions.

    0 讨论(0)
  • 2021-02-12 06:40

    I've always assumed that same you, i.e. that read-after-write applies to all clients, not just the client that did the write.

    This blog post seems to confirm it (for what its worth), but I also did not find any definitive answer on official AWS docs:

    https://shlomoswidler.com/2009/12/read-after-write-consistency-in-amazon.html

    What is Read-After-Write Consistency?

    Read-after-write consistency tightens things up a bit, guaranteeing immediate visibility of new data to all clients. With read-after-write consistency, a newly created object or file or table row will immediately be visible, without any delays.

    0 讨论(0)
  • 2021-02-12 06:43

    As of Dec 1, 2020 (https://aws.amazon.com/blogs/aws/amazon-s3-update-strong-read-after-write-consistency/) S3 does provide strong read after write consistency. However, it's still not clear that GET from a different client (other than the client which sent PUT request) will see the updated result. The blog mentions, "What you write is what you will read, and the results of a LIST will be an accurate reflection of what’s in the bucket."

    Also in the distributed systems literature there is 'read-your-own-write' consistency model and a 'consistent read across clients after write' is the ultimate objective (not saying that it's impossible).

    I suspect that S3 is eventually consistent for reads from different clients. There should be more clarity from AWS on this point, I feel.

    0 讨论(0)
提交回复
热议问题