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.

Reply via email to