rpc_workers does not work with Qpid
Bug #1330199 reported by
zhu zhu
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
oslo.messaging |
Fix Released
|
Medium
|
Unassigned |
Bug Description
After enable rpc_workers other than 0, restart the neutron-server, and found that No consumers will be ever created for q-plugin within Qpid.
It does appear that the all sub processes of neutron-server are getting hanging within the step of self.connection
Changed in neutron: | |
assignee: | nobody → Xu Han Peng (xuhanp) |
tags: | added: rpc |
Changed in neutron: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in oslo.messaging: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
tags: |
added: qpid removed: rpc |
tags: | added: rpc |
Changed in oslo.messaging: | |
milestone: | none → 1.6.0 |
status: | Fix Committed → Fix Released |
no longer affects: | neutron |
To post a comment you must log in.
By add a breakpoint to the following code, we can find the program hangs at the first breakpoint and never get to the second one.
def start_rpc_ listeners( self):
self.topic = topics.PLUGIN
self.conn = n_rpc.create_ connection( new=True) <-- first breakpoint
return self.conn. consume_ in_threads( ) <-- second breakpoint
But adding breakpoint to the following places of qpid, we found the program is waiting for the connection being created, but never get the expect OK result.
/usr/lib/ python2. 7/dist- packages/ qpid/messaging/ endpoints. py
@synchronized start() _connected and not self._unlinked())
def attach(self):
"""
Attach to the remote endpoint.
"""
if not self._connected:
self._connected = True
self._driver.
self._wakeup()
self._ewait(lambda: self._transport
qpid code waits for self._transport _connected and not self._unlinked() to become true to return.