Hello,
it's about RADOS Gateway.
S3-Clients get a 400 error uploading files lager or equal 2GB. For
example tcpdump extracts:
Uploading less than 2GB files:
>Client:
PUT /tzzzvb/file.txt HTTP/1.1
User-Agent: CloudBerryLab.Base.HttpUtil.Client 4.0.6
(http://www.cloudberrylab.com/)
x-amz-meta-cb-modifiedtime: Thu, 29 Jan 2015 16:34:26 GMT
Content-Type: text/plain
x-amz-date: Thu, 29 Jan 2015 16:39:33 GMT
Authorization: AWS RMYHKQCATF6DYZIRKM6V:8h/D1VJhKKb3NIdofjC39DIg3Fo=
Host: <s3-domain>
Content-Length: 6
Expect: 100-continue
>Server:
HTTP/1.1 100 Continue
>Client:
<file content>
>Server:
HTTP/1.1 200 OK
Date: Thu, 29 Jan 2015 16:39:33 GMT
Server: Apache/2.4.7 (Ubuntu)
ETag: "b53abb22d914d3c15953fae66d375b60"
Accept-Ranges: bytes
Content-Length: 0
Vary: Accept-Encoding
Content-Type: application/xml
Server expects the file
Uploading file >=2GB:
>Client:
PUT /tzzzvb/KNOPPIX%5FV7.2.0DVD%2D2013%2D06%2D16%2DEN.iso HTTP/1.1
User-Agent: CloudBerryLab.Base.HttpUtil.Client 4.0.6
(http://www.cloudberrylab.com/)
x-amz-meta-cb-modifiedtime: Fri, 25 Apr 2014 16:02:47 GMT
Content-Type: application/octet-stream
x-amz-date: Thu, 29 Jan 2015 16:24:52 GMT
Authorization: AWS RMYHKQCATF6DYZIRKM6V:idbm5DarFmKyazGcVo29Kd7pVCI=
Host: <s3-domain>
Content-Length: 4111474688
Expect: 100-continue
>Server:
HTTP/1.1 400 Bad Request
Date: Thu, 29 Jan 2015 16:24:52 GMT
Server: Apache/2.4.7 (Ubuntu)
Accept-Ranges: bytes
Content-Length: 26
Connection: close
Content-Type: application/json
{"Code":"InvalidArgument"}
100-continue is turned on (rgw print continue = true), but the request
is bad once the content-length is greater 2GB.
Accourding to the specification it should be able to upload files up to
5GB without using multipart-upload. But there seems to be "magic boarder"...
Tested with s3cmd and Cloudberry.
Is it a configuration issue or may be a bug?
We are using ceph giant 0.87 on Ubuntu 14.04.1 LTS kernel
3.13.0-44-generic
ceph 0.87-1trusty
apache2 2.4.7-1ubuntu4.1ceph1
libapache2-mod-fastcgi 2.4.7~0910052141-ceph1
[client.radosgw.gateway]
host = rgw01
keyring = /etc/ceph/keyring.radosgw.gateway
rgw socket path = /tmp/radosgw.sock
admin socket = /var/run/ceph/radosgw.asok
rgw enable ops log = true
rgw enable usage log = true
rgw usage log tick interval = 30
rgw usage log flush threshold = 1024
rgw usage max shards = 32
rgw usage max user shards = 1
log file = /var/log/radosgw/radosgw.log
rgw print continue = true
rgw dns name = <s3-domain>
rgw resolve cname = true
BR
Eduard Kormann
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com