get_container_info (or our use of it) needs to be smarter in the face of failures
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
New
|
Undecided
|
Unassigned |
Bug Description
... because currently, Swift can do some pretty stupid things: http://
Container quota middleware tries to get container info, but the container's overloaded. Primaries are error limited, so it goes 6 deep into handoffs. Doesn't find anything; 503. That's OK, CQ says, "this will hopefully 404 later".
So we keep going down the pipeline. Versioned writes sees the request, tries to get container info. Container's still overloaded, we still go out to handoffs, we still get a 503. That's OK, VW says, I guess old-style versioning isn't enabled.
So we keep going down the pipeline. Object versioning sees the request, tries to get container info. Container's still overloaded, we still go out to handoffs, we still get a 503. That's OK, OV says, I guess new-style versioning isn't enabled.
So we keep going down the pipeline. Proxy server sees the request, tries to get container info, blah blah blah. *Finally* we can respond with a 503 to the client! After 24 useless requests :-(
Related fix proposed to branch: master /review. opendev. org/c/openstack /swift/ +/875819
Review: https:/