Comment 5 for bug 1065869

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.openstack.org/14803
Committed: http://github.com/openstack/swift/commit/9cb7751fad92bc237b62710b6f4926db69cb05bd
Submitter: Jenkins
Branch: master

commit 9cb7751fad92bc237b62710b6f4926db69cb05bd
Author: Samuel Merritt <email address hidden>
Date: Wed Oct 24 17:16:11 2012 -0700

    Remove double GET on range requests.

    The proxy server's ObjectController was performing multiple GET
    requests to the object server when processing requests with Range
    headers. This was a workaround for a bug in the proxy server's
    Controller.GETorHEAD_base method where a response code of 416 from the
    object server was incorrectly treated as a bad response from the
    backend, the same way a 404 or a 5xx would be.

    A 416 (Requested Range Not Satisfiable) from the object server is now
    considered a good response. Since the response headers from the object
    server already include the X-Object-Manifest header, there's no need
    to make a second request (sans Range header) to see if the object is a
    manifest.

    Bonus fix: updated message for status 416 to match RFC2616.

    Bonus fix 2: removed a leftover debugging print() in
    test/unit/proxy/test_server.py.

    Fixes bug 1065869.

    Change-Id: I156af0b463f02ef19a8cfe37092544a599d89b78