Open juanotto opened 9 years ago
By the way, the line that rises the error is https://github.com/jubos/fake-s3/blob/master/lib/fakes3/file_store.rb#L231
It seems to be hexdigests of some part (or all of them) fail: part[:etag] == etag is false.
Java client does not use quotation marks around the etags in the complete multipart upload request. Other clients use them, so they have to be handled as optional -> trim them away.
I got the pull request that solves it, and still works with s3cmd that uses them. The change will not break any previous compatibility as cleaning the quotation marks with the regex or trim them later is the same for those who use them, adding compatibility with those who does not use them.
The pull req is https://github.com/jubos/fake-s3/pull/98
I'm getting errors when uploading using multipart from java, using the low level API.
To remove the possibility that our code mess things up I made a small project based on amazon Low-Level API (as described in http://docs.aws.amazon.com/AmazonS3/latest/dev/llJavaUploadFile.html) and just added an option that allows me to set the endpoint right after the client creation:
I upload several files to S3 without problems, but the same code fails uploading to fakes3.
I declared fakes3vm in /etc/hosts and subdomains for the buckets too (I tried several things, not sure if that last is actually needed) I'm running fakes3 in an ubuntu 14 VM in virtualBox, installed with gem (version is 0.2.1)
The requests are getting there but the last one, that should trigger the combine of the parts fails. Here is the output from fakes3:
I don't get much from java with that code, but the exception is caught and tries to abort the upload. It seems to fail too as I see all the parts in the bucket when I use s3cmd:
The same fakes3 install seems to work well with s3cmd: when I upload a "big file" with it it seems to be using multipart upload
I tried to change the part size to 15MB in the java code, as s3cmd is using that size successfully but without any luck...
Any ideas on this? I can share my java proj if that makes things easier, but is just a minimal web interface for the aws example.