tpools don't handle TimeoutErrors, so we need to.

Bug #758148 reported by gholt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Fix Released
Critical
gholt

Bug Description

Specifically in the object replicator cases of tpool, but double-check the other areas too.

When a non-Exception based exception is raised, Eventlet's <0.9.13 tpool won't catch it and bad things happen (tpool exhaustion from what we've seen). Eventlet's Timeout subclasses BaseException, so it causes said bad things.

For now, we can just wrap calls to tpool to catch Timeout and do something sensible (like maybe raise an Exception). For the future, maybe we can make our own Timeout that subclasses Exception instead of BaseException.

Related branches

Changed in swift:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in swift:
milestone: none → 1.3.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.