Re: 411 Content-Length required error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I did end up switching to civetweb and I also found that rgw content length compat, which I set to true. I am still getting the 411 Length required issue.

I have had more discussions with our testing team, and I am still trying to ascertain how valid this issue is.

With AWS Sig v4, you use a different method to do chunked transfers. With the sigv2, you do it as a "Transfer-Encoding: chunked" (as detailed in my s3curl example).  However, that v2 method may only apply to the implementation we have have (we have a proprietary implementation of s3 that I am hoping to replace with Ceph, if I can match our acceptance testing).

The reason I think that this is a valid issue is because of this commit
 http://tracker.ceph.com/projects/ceph/repository/revisions/14fa77d9277b5ef5d0c6683504b368773b39ccc4

Fixes: #2878
We now allow complete multipart upload to use chunked encoding
when sending request data. With chunked encoding the HTTP_LENGTH
header is not required.

What I would like to see is the test code for this (ideally in a curl or s3curl format) so that I can compare locally to see if we're saying the same thing, or if that commit from 3 years ago is still valid.

-John


On Wed, Jan 27, 2016 at 5:49 PM, Krzysztof Księżyk <kksiezyk@xxxxxxxxx> wrote:
On Mon, 2016-01-25 at 16:06 -0500, John Hogenmiller wrote:
Greetings,

When I submit a request with "Transfer-Encoding: chunked", I get a 411 Length required error back. It's very similar to http://tracker.ceph.com/issues/3297 except I am running the ceph version of fastcgi. Ceph does not appear to produce apache2 2.4 versions, I am running upstream Apache from Ubuntu on 14.04 LTS.


My apache and ceph.conf files are at: https://gist.github.com/ytjohn/da854151d8d360b927d0


Versions:
 * Ceph 9.2.0.1trusty
 * apache2: 2.4.7-1ubuntu4.8
 * libapache2-mod-fastcgi:  2.4.7~0910052141-ceph1


Example session:


~ s3curl.pl --id iphone_lab --put=1mb.img --debug --  --header "Transfer-Encoding: chunked" http://172.29.4.148/chunkedbucket2ip/imb.img
 
s3curl: exec curl -v -H 'Date: Mon, 25 Jan 2016 19:34:06 +0000' -H 'Authorization: AWS iphone_lab:i/l3AJ0C5pc/nSUUcwn7943ag10=' -L -H 'content-type: ' -T 1mb.img --header 'Transfer-Encoding: chunked' http://172.29.4.148/chunkedbucket2ip/imb.img
*   Trying 172.29.4.148...
* Connected to 172.29.4.148 (172.29.4.148) port 80 (#0)
> PUT /chunkedbucket2ip/imb.img HTTP/1.1
> Host: 172.29.4.148
> User-Agent: curl/7.43.0
> Accept: */*
> Date: Mon, 25 Jan 2016 19:34:06 +0000
> Authorization: AWS iphone_lab:i/l3AJ0C5pc/nSUUcwn7943ag10=
> Transfer-Encoding: chunked
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
< HTTP/1.1 411 Length Required
< Date: Mon, 25 Jan 2016 19:34:06 GMT
< Server: Apache/2.4.7 (Ubuntu)
< x-amz-request-id: tx00000000000000001fda9-0056a678ae-10da-default
< Accept-Ranges: bytes
< Content-Length: 156
< Connection: close
< Content-Type: application/xml
<
* Closing connection 0
<?xml version="1.0" encoding="UTF-8"?><Error><Code>MissingContentLength</Code><RequestId>tx00000000000000001fda9-0056a678ae-10da-default</RequestId></Error>
  

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
In addition to my previous message - I was just reading messages on this mailing list and found in one post that
setting "rgw content length compat" to true, should solve this issue.

Kind regards -
Krzysztof Księżyk

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com


_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux