Multipart objects are broken when using S3 and SWIFT API at the same time
We recently enabled also the SWIFT API for our users.
ceph version 0.94.6 (e832001feaf8c176593e0325c8298e3f16dfb403)
The idea is that each user of the system is free of choosing the S3
client or the SWIFT client to access the same container/buckets.
Please tell us if this is possible by design or if we are doing something wrong.
We have now a problem that some files wrote in the past with S3,
cannot be read with the SWIFT API because the md5sum always fails.
I am able to reproduce the bug in this way:
We have this file googlebooks-fre-all-2gram-20120701-ts.gz and we know
the correct md5 is 1c8113d2bd21232688221ec74dccff3a
You can download the same file here:
rclone mkdir lss3:bugreproduce
rclone copy googlebooks-fre-all-2gram-20120701-ts.gz lss3:bugreproduce
The file is successfully uploaded.
At this point I can succesfully download again the file:
rclone copy lss3:bugreproduce/googlebooks-fre-all-2gram-20120701-ts.gz test.gz
but not with swift:
swift download googlebooks-ngrams-gz
Error downloading object
u'Error downloading fre/googlebooks-fre-all-2gram-20120701-ts.gz:
md5sum != etag, 1c8113d2bd21232688221ec74dccff3a !=
Also I found strange the dash character '-' at the end of the md5 that
is trying to compare.
Of course upload a file with the swift client and redownloading the
same file just works.