warn instead of crash, when etags don't match The thing here is that the ETags are stored differently depending on how the key was uploaded. If it was a multipart upload, the key will have a composed ETag (md5 of md5s plus number of parts).  Therefore, we can't make assumptions about the ETags in bypass code, because to calculate the multipart md5 we'd have to read the file contents.
warn instead of crash, when etags don't match
The thing here is that the ETags are stored differently depending on how
the key was uploaded. If it was a multipart upload, the key will have a
composed ETag (md5 of md5s plus number of parts).  Therefore, we can't
make assumptions about the ETags in bypass code, because to calculate
the multipart md5 we'd have to read the file contents.

More info:
* https://www.savjee.be/2015/10/Verifying-Amazon-S3-multi-part-uploads-with-ETag-hash/
* http://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html

scrapinghub/exporters