-
Type: Improvement
-
Status: Resolved
-
Priority: Minor
-
Resolution: Duplicate
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: File Upload , S3
-
Story Points:2
Computing the high-level blob digest (Blob.getDigest()) by attempting to do extra S3 copies without multipart in order to retrieve an MD5 is pointless, because:
- There are cases when we can't get an MD5 at all (file > 5GB, managed mode) so the rest of the code has to be prepared to see a non-digest used for the high-level digest.
- It requires extra S3 copies and therefore has a financial cost.
- It is slow (because doing non-multipart copies of files in the GB range is slow, even when done as a direct S3-to-S3 same-bucket operation).
Therefore we should just use the S3 ETag as high-level blob digest when computing it in the S3 Direct Upload code.