Bug 1175882 - [RHEL 7]neutron-server gets stuck in poll python-qpid 0.22
Summary: [RHEL 7]neutron-server gets stuck in poll python-qpid 0.22
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: python-qpid
Version: 3.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: 3.0.2
: ---
Assignee: messaging-bugs
QA Contact: Messaging QE
URL:
Whiteboard:
Depends On: 1175872
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-12-18 19:59 UTC by Irina Boverman
Modified: 2025-02-10 03:43 UTC (History)
11 users (show)

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.
Clone Of: 1175872
Environment:
Last Closed: 2025-02-10 03:43:47 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Apache JIRA QPID-5790 0 None None None Never

Comment 6 Toni Freger 2015-01-18 11:58:11 UTC
Have tested RHOS6 on RHEL7

Packages:
qpid-cpp-server-0.22-50.el7.x86_64
qpid-proton-c-0.7-4.el7.x86_64
qpid-cpp-client-0.22-50.el7.x86_64
python-qpid-0.22-19.el7.noarch

openstack-neutron-ml2-2014.2.1-6.el7ost.noarch
openstack-neutron-openvswitch-2014.2.1-6.el7ost.noarch

The installation works properly.
Also tested:
1.Internal\External networks
2.FloatingIP
3.Security Group - SSH and ICMP

Comment 8 Jared MORGAN 2015-03-02 23:21:54 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

Comment 9 Petr Matousek 2015-03-03 11:05:28 UTC
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).

Comment 10 Jared MORGAN 2015-03-03 21:50:45 UTC
(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

Comment 16 Red Hat Bugzilla 2025-02-10 03:43:47 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.


Note You need to log in before you can comment on or make changes to this bug.