Mutlicast discovery with persistent topics leads to errors
----------------------------------------------------------
Key: AMQ-1548
URL: https://issues.apache.org/activemq/browse/AMQ-1548
Project: ActiveMQ
Issue Type: Bug
Components: Broker, Connector
Affects Versions: 5.0.0
Environment: 2 Ubuntu machines running virualized named activemq1 and
activemq2 set up for multicast discovery. Broker names are set to be the same
as the host name
Reporter: Jeff Ward
After bringing the brokers up and down a few times, I'll get the following
errors:
INFO DemandForwardingBridge - Network connection between
vm://activemq2#0 and tcp://activemq1/192.168.2.129:61616(activemq1) has been
established.
ERROR Service - Async error occurred:
javax.jms.JMSException: Durable consumer is in use for client:
NC_activemq1_inboundactivemq2 and subscriptionName: activemq2_fof
javax.jms.JMSException: Durable consumer is in use for client:
NC_activemq1_inboundactivemq2 and subscriptionName: activemq2_fof
at
org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:75)
at
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:338)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
at
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:80)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
at
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:95)
at
org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:525)
at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:334)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:100)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:202)
at
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
at
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
INFO DemandForwardingBridge - Network connection between
vm://activemq2#0 and tcp://activemq1/192.168.2.129:61616 shutdown due to a
local error: javax.jms.JMSException: Durable consumer is in use for client:
NC_activemq1_inboundactivemq2 and subscriptionName: activemq2_fof
INFO TransportConnector - Connector vm://activemq2 Stopped
INFO DemandForwardingBridge - activemq2 bridge to activemq1 stopped
My two servers are activemq1 and activemq2. The queue is specified in the
activemq.xml using:
<destinations>
<topic physicalName="fof" />
</destinations>
Through debugging, I tracked this down to a race condition between the
listening port (61616) and the created port (incremental) creating the
connection. In the one case, it creates a durable topic, in the other it
doesn't (I can't remember which is which). Regardless, when the connection
fails (or is shutdown) the durable topic isn't stopped, and thus the
reconnection fails.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.