activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Holger Bruch (JIRA)" <>
Subject [jira] Updated: (AMQ-961) Problem with subscription passing with network of brokers in AMQ 4.0.2
Date Mon, 09 Oct 2006 06:16:09 GMT
     [ ]

Holger Bruch updated AMQ-961:

    Attachment: RestartDFBOnResume.diff

Might relate to the problem I encountered in
Apparently, the DemandForwardingBridge does not resume correctly after a network interruption.
For me, the attached patch worked, but I'm not aware of any side effects, so please check.

> Problem with subscription passing with network of brokers in AMQ 4.0.2
> ----------------------------------------------------------------------
>                 Key: AMQ-961
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.0.2
>            Reporter: Kevin Yaussy
>            Priority: Critical
>         Attachments: RestartDFBOnResume.diff
> There's an occasional problem with subscription propagation when using a network of brokers.
 Test scenario uses ConsumerTool and PublisherTool in examples area of distribution.
> 1) Start broker A (has a network connection to broker B)
> 2) Start broker B (has a network connection to broker A)
> 3) start consumer C against broker A, on FOO
> 4) start publisher P against broker B, on FOO
> Messages do not flow to consumer C.  In the broker B log, there's no indication it got
any subscriptions from broker A.  Again, this is occasional.
> I've taken a kill-3 on the brokers, both when this condition appears, and when everything
is fine.  There's an obvious difference in one of the threads that hopefully will bring light
to the problem.  I've not gone into the code yet to try and find the issue, but figured I
would open this issue first.
> Stack trace of broker A when subscriptions did NOT pass, and message flow is broken:
> "ActiveMQ Transport: tcp://perfgc1a/" prio=10 tid=0x0030e160 nid=0x3f
in Object.wait() [0x8
> e2ff000..0x8e2ff8f0]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x9b2b00d0> (a
>         at java.lang.Object.wait(
>         at
>         - locked <0x9b2b00d0> (a
>         at
> .java:830)
>         at
>         at$2.onCommand(DemandForwardingBridgeSupport
> .java:130)
>         at org.apache.activemq.transport.ResponseCorrelator.onCommand(
>         at org.apache.activemq.transport.TransportFilter.onCommand(
>         at org.apache.activemq.transport.failover.FailoverTransport$1.onCommand(
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(
>         at org.apache.activemq.transport.TransportSupport.doConsume(
>         at
>         at
> Stack trace of broker A when everything works correctly:
> "ActiveMQ Transport: tcp://perfgc1a/" prio=10 tid=0x01955fc8 nid=0x3f
runnable [0x8e2cf000..0x8e2cfaf0]
>         at Method)
>         at
>         at org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(
>         at
>         at
>         at org.apache.activemq.openwire.OpenWireFormat.unmarshal(
>         at
>         at

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message