Bug 1175882
| Summary: | [RHEL 7]neutron-server gets stuck in poll python-qpid 0.22 | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Irina Boverman <iboverma> |
| Component: | python-qpid | Assignee: | messaging-bugs <messaging-bugs> |
| Status: | CLOSED UPSTREAM | QA Contact: | Messaging QE <messaging-qe-bugs> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 3.0 | CC: | acathrow, jross, kgiusti, lbezdick, lhh, mburns, messaging-bugs, messaging-qe-bugs, mschuppe, pematous, tfreger |
| Target Milestone: | 3.0.2 | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | python-qpid-0.22-19 | Doc Type: | Bug Fix |
| Doc Text: |
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.
|
Story Points: | --- |
| Clone Of: | 1175872 | Environment: | |
| Last Closed: | 2025-02-10 03:43:47 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1175872 | ||
| Bug Blocks: | |||
|
Comment 6
Toni Freger
2015-01-18 11:58:11 UTC
Hey Petr Could you please sanity check my Release Note for this issue. I want to ensure I haven't reversed the conditions/servers/poll issue when I constructed the RN. Cheers J Hi Jared, I believe you're wrong in the RN. "..qpid client has been improved to change the implementation to prefer poll() over select(), which fixes the original issue." ^^ is wrong, because select() shall be preferred to poll() if patched by eventlet. That fixes the original issue. More detail: previously the python client was changed to prefer poll instead of select (QPID-5588), and as eventlet greenthreads library used by openstack-neutron works only with select() this issue arise (QPID-5790). Because the selection between select() and poll() is being done dynamically, the condition was improved to prefer select() to poll() if patched by eventlet. ALSO I believe that doc text used here: bug 1102040 (probably written by you:) is precise and exactly the same text may be used here as well (this bug is a clone of 1102040). (In reply to Petr Matousek from comment #9) > Hi Jared, I believe you're wrong in the RN. > > "..qpid client has been improved to change the implementation to prefer > poll() over select(), which fixes the original issue." > ^^ is wrong, because select() shall be preferred to poll() if patched by > eventlet. That fixes the original issue. > > More detail: > previously the python client was changed to prefer poll instead of select > (QPID-5588), and as eventlet greenthreads library used by openstack-neutron > works only with select() this issue arise (QPID-5790). Because the selection > between select() and poll() is being done dynamically, the condition was > improved to prefer select() to poll() if patched by eventlet. > > ALSO I believe that doc text used here: bug 1102040 (probably written by > you:) is precise and exactly the same text may be used here as well (this > bug is a clone of 1102040). Thanks for the link to the above related BZ, Petr. I've updated the text with the info from BZ#1102040 This product has been discontinued or is no longer tracked in Red Hat Bugzilla. |