Back to bug 1105094
| Who | When | What | Removed | Added |
|---|---|---|---|---|
| Petr Matousek | 2014-06-05 11:34:59 UTC | Blocks | 1097306 | |
| Eric Sammons | 2014-06-09 14:15:48 UTC | CC | esammons | |
| Mike Cressman | 2014-06-10 05:41:11 UTC | Status | NEW | MODIFIED |
| Fixed In Version | python-qpid-0.18-12 | |||
| errata-xmlrpc | 2014-06-10 05:56:21 UTC | Status | MODIFIED | ON_QA |
| Petr Matousek | 2014-06-13 12:31:50 UTC | Depends On | 1109079, 1108005 | |
| Petr Matousek | 2014-06-16 17:26:45 UTC | Status | ON_QA | VERIFIED |
| Petr Matousek | 2014-06-17 09:06:08 UTC | QA Contact | mrgqe-bugs | pematous |
| Ken Giusti | 2014-06-20 17:20:50 UTC | Doc Text | Cause: The messaging client used by neutron re-writes (also known as 'monkey-patching') the python's selector module in order to support eventlet threading. This re-write does not update the select.poll() however. select.poll() is not supported by eventlet.. Consequence: qpid-python uses select.poll() to manage I/O. Since the poll() method is not 'fixed' to work with eventlet threading, the call to poll() deadlocks and neutron server hangs. Fix: Updated the qpid-python library to avoid calling poll() if it detects that eventlet threading is used. It calls select() instead. Result: select() is eventlet threading aware, and no deadlock occurs. |
|
| wes hayutin | 2014-06-23 18:45:26 UTC | Depends On | 1112372 | |
| Jared MORGAN | 2014-06-27 03:38:28 UTC | Doc Text | Cause: The messaging client used by neutron re-writes (also known as 'monkey-patching') the python's selector module in order to support eventlet threading. This re-write does not update the select.poll() however. select.poll() is not supported by eventlet.. Consequence: qpid-python uses select.poll() to manage I/O. Since the poll() method is not 'fixed' to work with eventlet threading, the call to poll() deadlocks and neutron server hangs. Fix: Updated the qpid-python library to avoid calling poll() if it detects that eventlet threading is used. It calls select() instead. Result: select() is eventlet threading aware, and no deadlock occurs. | Previously, the neutron messaging client rewrote (by method of "monkey-patching") the python selector module to support eventlet threading. The rewritten client did not update select.poll() during this process, which is used by qpid-python to manage I/O. This resulted in poll() deadlocks and neutron server hangs. The fix introduces updates to the qpid-python library that avoid calling poll() if eventlet threading is detected. Instead, the eventlet-aware select() is called, which prevents deadlocks from occurring and corrects the originally reported issue. |
| errata-xmlrpc | 2014-06-30 09:01:02 UTC | Status | VERIFIED | RELEASE_PENDING |
| errata-xmlrpc | 2014-06-30 10:26:30 UTC | Status | RELEASE_PENDING | CLOSED |
| Resolution | --- | ERRATA | ||
| Last Closed | 2014-06-30 06:26:30 UTC | |||
| Ken Giusti | 2014-09-17 21:26:50 UTC | Depends On | 1143749 | |
| Irina Boverman | 2014-12-18 19:38:30 UTC | Depends On | 1175872 | |
| Irina Boverman | 2014-12-18 19:58:51 UTC | Depends On | 1175872 |
Back to bug 1105094