Re: RGW sends response as "Transfer-Encoding: chunked"

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

 



On Sat, Dec 28, 2013 at 4:12 PM, Sam Yaple <samuel@xxxxxxxxx> wrote:
> I am testing the RadosGW as a replacement for swift and I am running into an
> issue. I am using keystone to authenticate and it is working perfectly
> except for the issue below.
>
> The following command returns from RGW as 'Transfer-Encoding: chunked'
> instead of with a 'Content-Length: 4'
>
> # curl -XGET -v -H 'X-Auth-Token: XXX' http://radosgw/swift/v1/
> * About to connect() to radosgw port 80 (#0)
> *   Trying 192.168.0.10... connected
>> GET /swift/v1/ HTTP/1.1
>> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1
>> zlib/1.2.3.4 libidn/1.23 librtmp/2.3
>> Host: radosgw
>> Accept: */*
>> X-Auth-Token: XXX
>>
> < HTTP/1.1 200 OK
> < Date: Sun, 29 Dec 2013 00:03:07 GMT
> < Server: Apache/2.2.22 (Ubuntu)
> < Vary: Accept-Encoding
> < Transfer-Encoding: chunked
> < Content-Type: text/plain; charset=utf-8
> <
> container1
> * Connection #0 to host radosgw left intact
> * Closing connection #0
>
>
> When I run the same command against Swift (which has the same files) I
> receive the following
>
> # curl -XGET -v -H 'X-Auth-Token: XXX' http://swift/v1/AUTH_XXX
> * About to connect() to swift port 8888 (#0)
> *   Trying 192.168.1.10...
> * connected
> * Connected to swift (192.168.1.10) port 8888 (#0)
>> GET /v1/AUTH_XXX HTTP/1.1
>> User-Agent: curl/7.26.0
>> Host: swift:8888
>> Accept: */*
>> X-Auth-Token: XXX
>>
> * additional stuff not fine transfer.c:1037: 0 0
> * HTTP 1.1 or later with persistent connection, pipelining supported
> < HTTP/1.1 200 OK
> < Content-Length: 11
> < Accept-Ranges: bytes
> < X-Timestamp: 1384897791.15778
> < X-Account-Bytes-Used: 5899191437
> < X-Account-Container-Count: 1
> < Content-Type: text/plain; charset=utf-8
> < X-Account-Object-Count: 412
> < X-Trans-Id: txef910d7064324d07955c8-0052bf6767
> < Date: Sun, 29 Dec 2013 00:05:59 GMT
> <
> container1
> * Connection #0 to host swift left intact
> * Closing connection #0
>
> ---------
>
> The swift response includes the "Content-Length: 11" and is not chunked. The
> extra info is irrelevant.
>
> Is this a radosgw issue, a fastcgi issue, or a user issue?
>
> How can I fix this?
>

The reason we don't send the content length for this request is
because we want the response to be streamed while it's being
generated, rather than accumulating the entire data, calculating the
total size and only then sending it. This is especially important with
the swift version of the list buckets/containers request, as the api
requires us to be able to provide the total size for each bucket which
can be slow.

Yehuda
_______________________________________________
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