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