Live data from Hacker News

Amazon S3 Adds Put-If-Match (Compare-and-Swap)

aws.amazon.com

11–20 of 166 posts

Re: Amazon S3 Adds Put-If-Match (Compare-and-Swap)

#13
If the default ETag algorithm for non-encrypted, non-multipart uploads in AWS is a plain MD5 hash, is this subject to failure for object data with MD5 collisions?

I'm thinking of a situation in which an application assumes that different (possibly adversarial) user-provided data will always generate a different ETag.

Re: Amazon S3 Adds Put-If-Match (Compare-and-Swap)

#16
post #8

Be still my beating heart. I have lived to see this day. Genuinely, we've wanted this for ages and we got half way there with strong consistency.

So....given CAP, which one did they give up

I’d wager that the algorithm is slightly eager to throw a consistency error if it’s unable to verify across partitions. Since the caller is naturally ready for this error, it’s likely not a problem. So in short it’s the P :)

Re: Amazon S3 Adds Put-If-Match (Compare-and-Swap)

#18
post #16

Earlier quoted context omitted.

So....given CAP, which one did they give up

I’d wager that the algorithm is slightly eager to throw a consistency error if it’s unable to verify across partitions. Since the caller is naturally ready for this error, it’s likely not a problem. So in short it’s the P :)

Shouldn't that be the A then? Since the network partition is still there but availability is non-guaranteed.

Re: Amazon S3 Adds Put-If-Match (Compare-and-Swap)

#19

If the default ETag algorithm for non-encrypted, non-multipart uploads in AWS is a plain MD5 hash, is this subject to failure for object data with MD5 collisions? I'm thinking of a situation in which an application assumes that different (possibly adversarial) user-provided data will always generate a different ETag.

MD5 hash collisions are unlikely to happen at random. The defect was that you can make it happen purposefully, making it useless for security.

Re: Amazon S3 Adds Put-If-Match (Compare-and-Swap)

#20

If the default ETag algorithm for non-encrypted, non-multipart uploads in AWS is a plain MD5 hash, is this subject to failure for object data with MD5 collisions? I'm thinking of a situation in which an application assumes that different (possibly adversarial) user-provided data will always generate a different ETag.

[deleted]
Post reply on HN