Is S3 implementation eventually consistent?


I’m seeing some eventually consistent behaviour with the S3 implementation, and wanted to confirm whether the implementation is indeed eventually consistent?

Thank you

Hello @lijok,

Could you elaborate on what kind of behaviour you are seeing?

It is possible that our implementation is not fully consistent, as we do not use transactions when dealing with S3 API operations, but we do not deal with the same constraints as AWS S3, so our model should be fairly consistent. Would you have any examples? It could also be a bug.

1 Like

Hi @bentsku

I’m talking about eventual consistency specifically. So, reading a file immediately after updating it can result in receiving back the old file.

EDIT: I’ve just set up a dedicated test for this and it appears that it is strongly consistent. Something else in my tests must be causing this. Thank you !

Hi @lijok, thanks for coming back so quickly.

Yes, if you sent a request to S3 and you received the response from the HTTP request, then the file is written and consistent. Glad you could test that behaviour. If there’s anything else, don’t hesitate to ask!