[ 
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.

Reply via email to