iml
iml

Reputation: 11

Amazon S3 - What does eventual consistency mean in regard to delete operations?

I visited Amazon's website and I read the available information in regard to eventual consistency however it's still not completely clear to me.

What I am still not sure about is the behavior of S3 in the timeframe between an execution of update / delete and the moment when the consistency is eventually achieved.

For example, what will happen if I delete object A and subsequently execute a HEAD operation for object A multiple times?

I suppose I will eventually start getting a RESOURCE_NOT_FOUND error constantly at some point of time (when the deletion becomes consistent) but prior to that moment what should I expect to get?

I see two options.

1) Every HEAD operation succeeds up to a point in time and after that every HEAD operation constantly fails with RESOURCE_NOT_FOUND.

2) Each HEAD operation succeeds or fails "randomly" until some moment in which the eventual consistency is achieved.

Could someone clarify which of the two should be the expected behavior?

Many thanks.

Upvotes: 1

Views: 718

Answers (1)

Michael - sqlbot
Michael - sqlbot

Reputation: 179054

I see two options.

It could be either of these. Neither one is necessarily the "expected" behavior. Eventually, requests would all return 404.

S3 is a large scale system, distributed across multiple availability zones in the region, so each request could hit one of several possible endpoints, each if which could reflect the bucket's state at a slightly different point in time. As long as they are all past the point where the object is deleted, they should continuously return 404, but the state of bucket index replication isn't exposed.

Upvotes: 1

Related Questions