[
https://issues.apache.org/jira/browse/QPID-903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gordon Sim updated QPID-903:
----------------------------
Attachment: qpid-903.patch
This is due to the use of a read-write lock in the management agent.
Specifically a read lock is held for the duration of the dispatchCommand
method; if such a method attempts to add a new managed object to the agent, it
requires a write lock, but has effectively locked itself out.
I'd suggest replacing the read-write lock with a simple mutex (which is -
currently at least - recursive). Attached is a patch that does this, and allows
bridges to be created. What do you think? I can apply that unless you have
reservations.
(The alternative I think would be to use locks for specific structures that
need protected, to allow more fine grained locking).
> Federation (inter-broker) links cause C++ broker to hang
> --------------------------------------------------------
>
> Key: QPID-903
> URL: https://issues.apache.org/jira/browse/QPID-903
> Project: Qpid
> Issue Type: Bug
> Components: C++ Broker
> Reporter: Ted Ross
> Attachments: qpid-903.patch
>
>
> When creating a "Bridge" queue for broker federation, the destination broker
> hangs and can only be stopped with a "kill -9".
> To reproduce:
> - Run two brokers. Can be on the same host with different ports.
> - Using the mgmt-cli utility, invoke the "Connect" method on the destination
> broker using the host and port of the source broker.
> - Find the resultant "link" object.
> - Invoke the "Bridge" method on the link object with the following arguments:
> src amq.direct routing-key 0 0
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.