You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ted Ross (JIRA)" <qp...@incubator.apache.org> on 2008/04/04 20:47:24 UTC
[jira] Created: (QPID-903) Federation (inter-broker) links cause
C++ broker to hang
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
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.
[jira] Closed: (QPID-903) Federation (inter-broker) links cause C++
broker to hang
Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ted Ross closed QPID-903.
-------------------------
Resolution: Fixed
Gordon's patch fixes the problem
> 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.
[jira] Updated: (QPID-903) Federation (inter-broker) links cause
C++ broker to hang
Posted by "Gordon Sim (JIRA)" <qp...@incubator.apache.org>.
[ 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.