Get with X-Newest leads to errors in object server

Bug #1037337 reported by Constantine Peresypkin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
Undecided
Constantine Peresypkin

Bug Description

When getting an object larger than 64k (default chunk size) with the X-Newest header set
proxy server may improperly close the connection to all object servers which had an "older" file replica
In my case it happens each time

I'm attaching here a patch for proxy server.
Patch also has a small test which can be considered a repro for the problem.

Revision history for this message
Constantine Peresypkin (constantine-q) wrote :
Revision history for this message
gholt (gholt) wrote :

Thanks for the patch! I'll look into transferring this to a gerrit review patch set tomorrow.

Changed in swift:
assignee: nobody → gholt (gholt)
Revision history for this message
gholt (gholt) wrote :
Revision history for this message
P.Constantine (pconstantine) wrote :

I see that Darrel is not happy with the test.
That's good, because I was also not so happy with it. It was not catching SIGPIPE (it's not an exception).
Anyway, I'm attaching here a patch with improved test that should properly handle SIGPIPE and fail correctly.

Changed in swift:
assignee: gholt (gholt) → Constantine Peresypkin (constantine-q)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to swift (master)

Reviewed: https://review.openstack.org/11938
Committed: http://github.com/openstack/swift/commit/9290471b61a98a1882f0d9e5ce7d883428e2ff36
Submitter: Jenkins
Branch: master

commit 9290471b61a98a1882f0d9e5ce7d883428e2ff36
Author: Constantine Peresypkin <email address hidden>
Date: Fri Aug 24 20:20:14 2012 +0300

    x-newest cleanup code with test. Fixes bug 1037337

    Change-Id: Ie99250250171246e8c13e8d8c8258101bd78cce4

Changed in swift:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in swift:
milestone: none → 1.7.0
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.