You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Jeff Ward <je...@orbusgameworks.com> on 2008/01/10 22:55:17 UTC

Mutlicast discovery with persistent topics leads to errors

I'm using the latest version of ActiveMQ 5.0.0 and I'm having a bit of
trouble creating a network of brokers with topics predefined.  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.  I can't really make a test case for this because I"m
not sure which behavior is right, and I'm not even sure where I'd start.

Can anyone else verify this is an issue?  Can anyone recommend a fix?

-- 
View this message in context: http://www.nabble.com/Mutlicast-discovery-with-persistent-topics-leads-to-errors-tp14744672s2354p14744672.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Mutlicast discovery with persistent topics leads to errors

Posted by Jeff Ward <je...@orbusgameworks.com>.
The broker names are always the same.  They're set to the name of the host
machine (in this case activemq1 or activemq2, depending on which machine).


rajdavies wrote:
> 
> Are you consistently setting the broker names - so they are the same  
> when you bring them up and down ?
> On Jan 10, 2008, at 9:55 PM, Jeff Ward wrote:
> 

-- 
View this message in context: http://www.nabble.com/Mutlicast-discovery-with-persistent-topics-leads-to-errors-tp14744672s2354p14805918.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Mutlicast discovery with persistent topics leads to errors

Posted by Rob Davies <ra...@gmail.com>.
Are you consistently setting the broker names - so they are the same  
when you bring them up and down ?
On Jan 10, 2008, at 9:55 PM, Jeff Ward wrote:

>
> I'm using the latest version of ActiveMQ 5.0.0 and I'm having a bit of
> trouble creating a network of brokers with topics predefined.  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.  I can't really make a test case for this  
> because I"m
> not sure which behavior is right, and I'm not even sure where I'd  
> start.
>
> Can anyone else verify this is an issue?  Can anyone recommend a fix?
>
> -- 
> View this message in context: http://www.nabble.com/Mutlicast-discovery-with-persistent-topics-leads-to-errors-tp14744672s2354p14744672.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>


Re: Mutlicast discovery with persistent topics leads to errors

Posted by tpamsler <tp...@ucdavis.edu>.
I am getting the same error using ActiveMQ 5.0.0:

ERROR: Async error occurred: javax.jms.JMSException: Durable consumer is in
use for client: NC_spring_inboundsummer and subscriptionName:
summer_CLUSTER_SERVICE_TOPIC (2008-01-21 15:25:55,734
VMTransport_org.apache.activemq.broker.TransportConnection.Service)
javax.jms.JMSException: Durable consumer is in use for client:
NC_spring_inboundsummer and subscriptionName: summer_CLUSTER_SERVICE_TOPIC
        at
org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:75)
        at
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:338)
...



Jeff Ward wrote:
> 
> I'm using the latest version of ActiveMQ 5.0.0 and I'm having a bit of
> trouble creating a network of brokers with topics predefined.  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.  I can't really make a test case for this
> because I"m not sure which behavior is right, and I'm not even sure where
> I'd start.
> 
> Can anyone else verify this is an issue?  Can anyone recommend a fix?
> 
> 

-- 
View this message in context: http://www.nabble.com/Mutlicast-discovery-with-persistent-topics-leads-to-errors-tp14744672s2354p15013096.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.