Live data from Hacker News

S3 Strong Consistency

aws.amazon.com

41–50 of 240 posts

Re: S3 Strong Consistency

#42

Could someone describe a few real-life scenarios where this is useful and noticeable?

Our image processing worker queues/servers write an S3 object and dispatch a follow up job. Currently we have to delay the next job (we use 5 seconds) otherwise then next job may start processing before the S3 object is available (it 404's if the next job is run straight away).

Re: S3 Strong Consistency

#43

Could someone describe a few real-life scenarios where this is useful and noticeable?

One very common one is for situations where you might have a multi-step pipeline to process data

- step 1 generates/processes data, stores it in S3, overwriting the previous copy. triggers step 2 to run

- step 2 runs, fetches the data from s3 for its own processing. However, because only a few seconds have elapsed, step 2 fetches the old version of data from the S3 bucket

You can work around this by, for example, always using unique S3 object keys, but then you have to coordinate across the data processing steps, and it becomes harder to manage things like storing only the 10 latest versions.

The Argo workflow tool (https://argoproj.github.io/) is one example of a tool that can suffer from this problem.

Re: S3 Strong Consistency

#46

Could someone describe a few real-life scenarios where this is useful and noticeable?

You have a processing job which dumps a bunch of output files in a directory. A downstream job uses these files as input, sees a new directory, and pulls all the files in the new directory.

Because s3 was not strongly consistent, you would have the downstream job see a arbitrary subset of the files for a short while after creation, and not just the oldest files. This could cause your job to skip processing input files unless you provided some sort of manifest of all the files it would expect in that batch. So then you'd have to load the manifest, then keep retrying until all the input files showed up in whatever s3 node you were hitting.

Re: S3 Strong Consistency

#48

This is one reason I have been a big fan of Google Cloud Storage over AWS S3: at a past company AWS consistency was a huge pain, and GCS has had this for years. https://cloud.google.com/blog/products/gcp/how-google-cloud-...

Azure as well

Re: S3 Strong Consistency

#50
post #42

Could someone describe a few real-life scenarios where this is useful and noticeable?

Our image processing worker queues/servers write an S3 object and dispatch a follow up job. Currently we have to delay the next job (we use 5 seconds) otherwise then next job may start processing before the S3 object is available (it 404's if the next job is run straight away).

That sounds _very_ wrong, what type of throughput are we talking about here?
Post reply on HN