You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by ttmdev <jo...@ttmsolutions.com> on 2007/10/03 16:06:17 UTC
Re: 6 broker node network results in many duplicate messages or
"durable consumer in use" errors
We are also experiencing more or less the same situation, but with a
configuration comprising 2 brokers, one publisher and one durable
subscriber. The brokers and clients are using 'discovery'.
Has anyone looked into this?
Joe
Naz Irizarry wrote:
>
> BACKGROUND
>
> I am using ActiveMQ 4.1.1 under Java 5. My 6 broker test-network is
> illustrated in the attachment. The brokers would not be colocated in
> deployment though they are all running on one machine for testing.
> In deployment there would be clients on all nodes.
>
> 
> The clients FN1, FN2, and FN3 create serveral durable topics and
> subscribe to each other's topics. The brokers use networkTTL="3",
> conduitSubscriptions="false", dynamicOnly="false" Messages are
> acknowledged immediately upon receipt by the clients.
>
>
> PROBLEMS
>
> 1) Client FN1 sees messages from FN2 and FN3 each delivered twice
> 2) Client FN2 sees all messages from FN1 delivered 4 times and
> messages from FN3 delivered twice
> 3) Client FN3 sees all messages from FN1 delivered 4 times and
> messages from FN2 delivered twice
> The duplicates arrive approximately one second apart.
>
> If I stop the brokers, zero out persistent stores, change the brokers
> to conduitSubscriptions="true" restart the brokers and I bring up
> FN1, FN2, and FN3 (in that order) then when FN3 comes up:
>
> 1) At broker bFN2 I get the error " INFO
> DemandForwardingBridge - Network connection between vm://
> bFn2#4 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
> error: javax.jms.JMSException: Durable consumer is in use for client:
> NC_bEn2_inboundbFn2 and subscriptionName: bFn2_ds.Union-3"
> 2) At broker vFN3 I get the error " INFO
> DemandForwardingBridge - Network connection between vm://
> bFn3#0 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
> error: javax.jms.JMSException: Durable consumer is in use for client:
> NC_bEn2_inboundbFn3 and subscriptionName: bFn3_da.Availability"
>
> Is this a misconfiguration problem or are these known problems?
>
>
> Below are 3 of the configurations
>
> --------------
> Configuration for bEn2:
>
> <beans>
>
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
> gurer"/>
>
> <broker brokerName="bEn2" useJmx="false" persistent="false"
> xmlns="http://activemq.org/config/1.0">
>
> <destinationPolicy>
> <policyMap>
> <policyEntries>
>
> <policyEntry topic="ds.>">
> <dispatchPolicy>
> <strictOrderDispatchPolicy/>
> </dispatchPolicy>
> <subscriptionRecoveryPolicy>
> <timedSubscriptionRecoveryPolicy
> recoverDuration="900000"/>
> </subscriptionRecoveryPolicy>
>
> </policyEntry>
> <policyEntry topic="da.>">
> <dispatchPolicy>
> <strictOrderDispatchPolicy/>
> </dispatchPolicy>
> <subscriptionRecoveryPolicy>
> <timedSubscriptionRecoveryPolicy
> recoverDuration="300000"/>
> </subscriptionRecoveryPolicy>
> </policyEntry>
>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
>
> <persistenceAdapter>
> <journaledJDBC journalLogFiles="5"
> dataDirectory="$activemq.base/activemq-data"/>
> </persistenceAdapter>
>
> <transportConnectors>
> <!-- 9123 is for local access -->
> <!-- 9124 is used to bridge the activemq's to each other -->
> <transportConnector name="c1" uri="tcp://localhost:9123"/>
> <transportConnector name="c2" uri="ssl://localhost:9124"/>
> </transportConnectors>
>
> <networkConnectors>
>
> <!-- Cross Connection to Other Enterprise node -->
> <networkConnector name="entBridge1"
> uri="static:(ssl://localhost:9024)"
> dynamicOnly="false"
> conduitSubscriptions="false"
> networkTTL="3"
> prefetchSize="10"
> >
>
> </networkConnector>
>
> <!-- Connection to Forward Node 2 -->
> <networkConnector name="forward2"
> uri="static:(ssl://localhost:9324)"
> dynamicOnly="false"
> conduitSubscriptions="false"
> prefetchSize="10"
> networkTTL="3"
> >
>
> </networkConnector>
>
> <!-- Connection to Forward Node 3 -->
> <networkConnector name="forward3"
> uri="static:(ssl://localhost:9424)"
> dynamicOnly="false"
> conduitSubscriptions="false"
> prefetchSize="10"
> networkTTL="3"
> >
> </networkConnector>
> </networkConnectors>
> </broker>
> </beans>
>
> -------------
> Configuration for bFn2:
>
> <beans>
>
> <!-- Allows us to use system properties as variables in this
> configuration file -->
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
> gurer"/>
>
> <broker brokerName="bFn2" useJmx="false" persistent="false"
> xmlns="http://activemq.org/config/1.0">
>
> <destinationPolicy>
> <policyMap>
> <policyEntries>
>
> <policyEntry topic="ds.>">
> <dispatchPolicy>
> <strictOrderDispatchPolicy/>
> </dispatchPolicy>
> <subscriptionRecoveryPolicy>
> <timedSubscriptionRecoveryPolicy
> recoverDuration="900000"/>
> </subscriptionRecoveryPolicy>
>
> </policyEntry>
> <policyEntry topic="da.>">
> <dispatchPolicy>
> <strictOrderDispatchPolicy/>
> </dispatchPolicy>
> <subscriptionRecoveryPolicy>
> <timedSubscriptionRecoveryPolicy
> recoverDuration="300000"/>
> </subscriptionRecoveryPolicy>
> </policyEntry>
>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
>
> <persistenceAdapter>
> <journaledJDBC journalLogFiles="5"
> dataDirectory="$activemq.base/activemq-data"/>
> </persistenceAdapter>
>
> <transportConnectors>
> <!-- 9023 is for local access -->
> <!-- 9024 is used to bridge the activemq's to each other -->
> <transportConnector name="c1" uri="tcp://localhost:9323"/>
> <transportConnector name="c2" uri="ssl://localhost:9324"/>
> </transportConnectors>
>
> <networkConnectors>
>
> <!-- Connection to Enterprise node 2 -->
> <networkConnector name="en2a"
> uri="static:(ssl://localhost:9124)"
> dynamicOnly="false"
> conduitSubscriptions="false"
> networkTTL="3"
> prefetchSize="10"
> >
> </networkConnector>
>
> </networkConnectors>
> </broker>
> </beans>
>
> -------------
> Configuration for bFn3:
>
> <beans>
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
> gurer"/>
>
> <broker brokerName="bFn3" useJmx="false" persistent="false"
> xmlns="http://activemq.org/config/1.0">
>
> <destinationPolicy>
> <policyMap>
> <policyEntries>
>
> <policyEntry topic="ds.>">
> <dispatchPolicy>
> <strictOrderDispatchPolicy/>
> </dispatchPolicy>
> <subscriptionRecoveryPolicy>
> <timedSubscriptionRecoveryPolicy
> recoverDuration="900000"/>
> </subscriptionRecoveryPolicy>
> </policyEntry>
>
> <policyEntry topic="da.>">
> <dispatchPolicy>
> <strictOrderDispatchPolicy/>
> </dispatchPolicy>
> <subscriptionRecoveryPolicy>
> <timedSubscriptionRecoveryPolicy
> recoverDuration="300000"/>
> </subscriptionRecoveryPolicy>
> </policyEntry>
>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
>
> <persistenceAdapter>
> <journaledJDBC journalLogFiles="5"
> dataDirectory="$activemq.base/activemq-data"/>
> </persistenceAdapter>
>
> <transportConnectors>
> <!-- 9423 is for internal access -->
> <!-- 9424 is used to bridge the activemq's to each other -->
> <transportConnector name="c1" uri="tcp://localhost:9423"/>
> <transportConnector name="c2" uri="ssl://localhost:9424"/>
> </transportConnectors>
>
> <networkConnectors>
>
> <!-- Connection to Enterprise node 2 -->
> <networkConnector name="en2b"
> uri="static:(ssl://localhost:9124)"
> dynamicOnly="false"
> conduitSubscriptions="false"
> prefetchSize="10"
> networkTTL="3"
> >
> </networkConnector>
> </networkConnectors>
> </broker>
> </beans>
>
>
>
>
>
>
>
--
View this message in context: http://www.nabble.com/6-broker-node-network-results-in-many-duplicate-messages-or-%22durable-consumer-in-use%22-errors-tf4268320s2354.html#a13019653
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: 6 broker node network results in many duplicate messages or
"durable consumer in use" errors
Posted by ddossot <da...@dossot.net>.
JIRA issue: https://issues.apache.org/activemq/browse/AMQ-1455
Anyone knows if it is possible to restart a bridge from JMX?
ddossot wrote:
>
> Here is the exception that makes the bridge die:
>
> 11:04:46,254 DEBUG [org.apache.activemq.network.DemandForwardingBridge]
> The local Exception was:java.lang.NullPointerException
> java.lang.NullPointerException
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport.configureMessage(DemandForwardingBridgeSupport.java:539)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:561)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:137)
> 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.oneway(VMTransport.java:102)
> at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> at
> org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:59)
> at
> org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1184)
> at
> org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:803)
> at
> org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:838)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:118)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:42)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
>
> Using the latest 5 snapshot, on JDK 6.
>
> As for now, I can not use the network of broker feature. It might be a
> mis-configuration on my side.
>
> I will open a JIRA for this, with more details.
>
> D.
>
>
>
>
>
> ddossot wrote:
>>
>> FYI: I have lowered the log threshold of org.apache.activemq.network to
>> DEBUG, as it is at this level the stack trace captured in the handling of
>> "shutdown due to a local error" is logged, and will report here the
>> details of the error that makes the bridge fall down.
>>
>> D.
>>
>>
>>
>> ddossot wrote:
>>>
>>> Same here: I have a simple 2 brokers configuration, which discover
>>> themselves via Zeroconf, and the bridge between them regularly fails:
>>>
>>> 09:27:49,996 INFO [org.apache.activemq.network.DemandForwardingBridge]
>>> Network connection between vm://node1#2 and
>>> tcp://node2/10.20.116.14:58080 shutdown due to a local error: java.lan
>>> g.NullPointerException
>>> 09:27:50,216 INFO [org.apache.activemq.network.DemandForwardingBridge]
>>> node1 bridge to node2 stopped
>>>
>>> D.
>>>
>>>
>>> ttmdev wrote:
>>>>
>>>> We are also experiencing more or less the same situation, but with a
>>>> configuration comprising 2 brokers, one publisher and one durable
>>>> subscriber. The brokers and clients are using 'discovery'.
>>>>
>>>> Has anyone looked into this?
>>>>
>>>> Joe
>>>>
>>>>
>>>> Naz Irizarry wrote:
>>>>>
>>>>> BACKGROUND
>>>>>
>>>>> I am using ActiveMQ 4.1.1 under Java 5. My 6 broker test-network is
>>>>> illustrated in the attachment. The brokers would not be colocated in
>>>>> deployment though they are all running on one machine for testing.
>>>>> In deployment there would be clients on all nodes.
>>>>>
>>>>> 
>>>>> The clients FN1, FN2, and FN3 create serveral durable topics and
>>>>> subscribe to each other's topics. The brokers use networkTTL="3",
>>>>> conduitSubscriptions="false", dynamicOnly="false" Messages are
>>>>> acknowledged immediately upon receipt by the clients.
>>>>>
>>>>>
>>>>> PROBLEMS
>>>>>
>>>>> 1) Client FN1 sees messages from FN2 and FN3 each delivered twice
>>>>> 2) Client FN2 sees all messages from FN1 delivered 4 times and
>>>>> messages from FN3 delivered twice
>>>>> 3) Client FN3 sees all messages from FN1 delivered 4 times and
>>>>> messages from FN2 delivered twice
>>>>> The duplicates arrive approximately one second apart.
>>>>>
>>>>> If I stop the brokers, zero out persistent stores, change the brokers
>>>>> to conduitSubscriptions="true" restart the brokers and I bring up
>>>>> FN1, FN2, and FN3 (in that order) then when FN3 comes up:
>>>>>
>>>>> 1) At broker bFN2 I get the error " INFO
>>>>> DemandForwardingBridge - Network connection between vm://
>>>>> bFn2#4 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
>>>>> error: javax.jms.JMSException: Durable consumer is in use for client:
>>>>> NC_bEn2_inboundbFn2 and subscriptionName: bFn2_ds.Union-3"
>>>>> 2) At broker vFN3 I get the error " INFO
>>>>> DemandForwardingBridge - Network connection between vm://
>>>>> bFn3#0 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
>>>>> error: javax.jms.JMSException: Durable consumer is in use for client:
>>>>> NC_bEn2_inboundbFn3 and subscriptionName: bFn3_da.Availability"
>>>>>
>>>>> Is this a misconfiguration problem or are these known problems?
>>>>>
>>>>>
>>>>> Below are 3 of the configurations
>>>>>
>>>>> --------------
>>>>> Configuration for bEn2:
>>>>>
>>>>> <beans>
>>>>>
>>>>> <bean
>>>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>>>> gurer"/>
>>>>>
>>>>> <broker brokerName="bEn2" useJmx="false" persistent="false"
>>>>> xmlns="http://activemq.org/config/1.0">
>>>>>
>>>>> <destinationPolicy>
>>>>> <policyMap>
>>>>> <policyEntries>
>>>>>
>>>>> <policyEntry topic="ds.>">
>>>>> <dispatchPolicy>
>>>>> <strictOrderDispatchPolicy/>
>>>>> </dispatchPolicy>
>>>>> <subscriptionRecoveryPolicy>
>>>>> <timedSubscriptionRecoveryPolicy
>>>>> recoverDuration="900000"/>
>>>>> </subscriptionRecoveryPolicy>
>>>>>
>>>>> </policyEntry>
>>>>> <policyEntry topic="da.>">
>>>>> <dispatchPolicy>
>>>>> <strictOrderDispatchPolicy/>
>>>>> </dispatchPolicy>
>>>>> <subscriptionRecoveryPolicy>
>>>>> <timedSubscriptionRecoveryPolicy
>>>>> recoverDuration="300000"/>
>>>>> </subscriptionRecoveryPolicy>
>>>>> </policyEntry>
>>>>>
>>>>> </policyEntries>
>>>>> </policyMap>
>>>>> </destinationPolicy>
>>>>>
>>>>> <persistenceAdapter>
>>>>> <journaledJDBC journalLogFiles="5"
>>>>> dataDirectory="$activemq.base/activemq-data"/>
>>>>> </persistenceAdapter>
>>>>>
>>>>> <transportConnectors>
>>>>> <!-- 9123 is for local access -->
>>>>> <!-- 9124 is used to bridge the activemq's to each other -->
>>>>> <transportConnector name="c1" uri="tcp://localhost:9123"/>
>>>>> <transportConnector name="c2" uri="ssl://localhost:9124"/>
>>>>> </transportConnectors>
>>>>>
>>>>> <networkConnectors>
>>>>>
>>>>> <!-- Cross Connection to Other Enterprise node -->
>>>>> <networkConnector name="entBridge1"
>>>>> uri="static:(ssl://localhost:9024)"
>>>>> dynamicOnly="false"
>>>>> conduitSubscriptions="false"
>>>>> networkTTL="3"
>>>>> prefetchSize="10"
>>>>> >
>>>>>
>>>>> </networkConnector>
>>>>>
>>>>> <!-- Connection to Forward Node 2 -->
>>>>> <networkConnector name="forward2"
>>>>> uri="static:(ssl://localhost:9324)"
>>>>> dynamicOnly="false"
>>>>> conduitSubscriptions="false"
>>>>> prefetchSize="10"
>>>>> networkTTL="3"
>>>>> >
>>>>>
>>>>> </networkConnector>
>>>>>
>>>>> <!-- Connection to Forward Node 3 -->
>>>>> <networkConnector name="forward3"
>>>>> uri="static:(ssl://localhost:9424)"
>>>>> dynamicOnly="false"
>>>>> conduitSubscriptions="false"
>>>>> prefetchSize="10"
>>>>> networkTTL="3"
>>>>> >
>>>>> </networkConnector>
>>>>> </networkConnectors>
>>>>> </broker>
>>>>> </beans>
>>>>>
>>>>> -------------
>>>>> Configuration for bFn2:
>>>>>
>>>>> <beans>
>>>>>
>>>>> <!-- Allows us to use system properties as variables in this
>>>>> configuration file -->
>>>>> <bean
>>>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>>>> gurer"/>
>>>>>
>>>>> <broker brokerName="bFn2" useJmx="false" persistent="false"
>>>>> xmlns="http://activemq.org/config/1.0">
>>>>>
>>>>> <destinationPolicy>
>>>>> <policyMap>
>>>>> <policyEntries>
>>>>>
>>>>> <policyEntry topic="ds.>">
>>>>> <dispatchPolicy>
>>>>> <strictOrderDispatchPolicy/>
>>>>> </dispatchPolicy>
>>>>> <subscriptionRecoveryPolicy>
>>>>> <timedSubscriptionRecoveryPolicy
>>>>> recoverDuration="900000"/>
>>>>> </subscriptionRecoveryPolicy>
>>>>>
>>>>> </policyEntry>
>>>>> <policyEntry topic="da.>">
>>>>> <dispatchPolicy>
>>>>> <strictOrderDispatchPolicy/>
>>>>> </dispatchPolicy>
>>>>> <subscriptionRecoveryPolicy>
>>>>> <timedSubscriptionRecoveryPolicy
>>>>> recoverDuration="300000"/>
>>>>> </subscriptionRecoveryPolicy>
>>>>> </policyEntry>
>>>>>
>>>>> </policyEntries>
>>>>> </policyMap>
>>>>> </destinationPolicy>
>>>>>
>>>>> <persistenceAdapter>
>>>>> <journaledJDBC journalLogFiles="5"
>>>>> dataDirectory="$activemq.base/activemq-data"/>
>>>>> </persistenceAdapter>
>>>>>
>>>>> <transportConnectors>
>>>>> <!-- 9023 is for local access -->
>>>>> <!-- 9024 is used to bridge the activemq's to each other -->
>>>>> <transportConnector name="c1" uri="tcp://localhost:9323"/>
>>>>> <transportConnector name="c2" uri="ssl://localhost:9324"/>
>>>>> </transportConnectors>
>>>>>
>>>>> <networkConnectors>
>>>>>
>>>>> <!-- Connection to Enterprise node 2 -->
>>>>> <networkConnector name="en2a"
>>>>> uri="static:(ssl://localhost:9124)"
>>>>> dynamicOnly="false"
>>>>> conduitSubscriptions="false"
>>>>> networkTTL="3"
>>>>> prefetchSize="10"
>>>>> >
>>>>> </networkConnector>
>>>>>
>>>>> </networkConnectors>
>>>>> </broker>
>>>>> </beans>
>>>>>
>>>>> -------------
>>>>> Configuration for bFn3:
>>>>>
>>>>> <beans>
>>>>> <bean
>>>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>>>> gurer"/>
>>>>>
>>>>> <broker brokerName="bFn3" useJmx="false" persistent="false"
>>>>> xmlns="http://activemq.org/config/1.0">
>>>>>
>>>>> <destinationPolicy>
>>>>> <policyMap>
>>>>> <policyEntries>
>>>>>
>>>>> <policyEntry topic="ds.>">
>>>>> <dispatchPolicy>
>>>>> <strictOrderDispatchPolicy/>
>>>>> </dispatchPolicy>
>>>>> <subscriptionRecoveryPolicy>
>>>>> <timedSubscriptionRecoveryPolicy
>>>>> recoverDuration="900000"/>
>>>>> </subscriptionRecoveryPolicy>
>>>>> </policyEntry>
>>>>>
>>>>> <policyEntry topic="da.>">
>>>>> <dispatchPolicy>
>>>>> <strictOrderDispatchPolicy/>
>>>>> </dispatchPolicy>
>>>>> <subscriptionRecoveryPolicy>
>>>>> <timedSubscriptionRecoveryPolicy
>>>>> recoverDuration="300000"/>
>>>>> </subscriptionRecoveryPolicy>
>>>>> </policyEntry>
>>>>>
>>>>> </policyEntries>
>>>>> </policyMap>
>>>>> </destinationPolicy>
>>>>>
>>>>> <persistenceAdapter>
>>>>> <journaledJDBC journalLogFiles="5"
>>>>> dataDirectory="$activemq.base/activemq-data"/>
>>>>> </persistenceAdapter>
>>>>>
>>>>> <transportConnectors>
>>>>> <!-- 9423 is for internal access -->
>>>>> <!-- 9424 is used to bridge the activemq's to each other -->
>>>>> <transportConnector name="c1" uri="tcp://localhost:9423"/>
>>>>> <transportConnector name="c2" uri="ssl://localhost:9424"/>
>>>>> </transportConnectors>
>>>>>
>>>>> <networkConnectors>
>>>>>
>>>>> <!-- Connection to Enterprise node 2 -->
>>>>> <networkConnector name="en2b"
>>>>> uri="static:(ssl://localhost:9124)"
>>>>> dynamicOnly="false"
>>>>> conduitSubscriptions="false"
>>>>> prefetchSize="10"
>>>>> networkTTL="3"
>>>>> >
>>>>> </networkConnector>
>>>>> </networkConnectors>
>>>>> </broker>
>>>>> </beans>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/6-broker-node-network-results-in-many-duplicate-messages-or-%22durable-consumer-in-use%22-errors-tf4268320s2354.html#a13140349
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: 6 broker node network results in many duplicate messages or
"durable consumer in use" errors
Posted by ddossot <da...@dossot.net>.
Here is the exception that makes the bridge die:
11:04:46,254 DEBUG [org.apache.activemq.network.DemandForwardingBridge] The
local Exception was:java.lang.NullPointerException
java.lang.NullPointerException
at
org.apache.activemq.network.DemandForwardingBridgeSupport.configureMessage(DemandForwardingBridgeSupport.java:539)
at
org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:561)
at
org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:137)
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.oneway(VMTransport.java:102)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:59)
at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1184)
at
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:803)
at
org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:838)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:118)
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:42)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Using the latest 5 snapshot, on JDK 6.
As for now, I can not use the network of broker feature. It might be a
mis-configuration on my side.
I will open a JIRA for this, with more details.
D.
ddossot wrote:
>
> FYI: I have lowered the log threshold of org.apache.activemq.network to
> DEBUG, as it is at this level the stack trace captured in the handling of
> "shutdown due to a local error" is logged, and will report here the
> details of the error that makes the bridge fall down.
>
> D.
>
>
>
> ddossot wrote:
>>
>> Same here: I have a simple 2 brokers configuration, which discover
>> themselves via Zeroconf, and the bridge between them regularly fails:
>>
>> 09:27:49,996 INFO [org.apache.activemq.network.DemandForwardingBridge]
>> Network connection between vm://node1#2 and
>> tcp://node2/10.20.116.14:58080 shutdown due to a local error: java.lan
>> g.NullPointerException
>> 09:27:50,216 INFO [org.apache.activemq.network.DemandForwardingBridge]
>> node1 bridge to node2 stopped
>>
>> D.
>>
>>
>> ttmdev wrote:
>>>
>>> We are also experiencing more or less the same situation, but with a
>>> configuration comprising 2 brokers, one publisher and one durable
>>> subscriber. The brokers and clients are using 'discovery'.
>>>
>>> Has anyone looked into this?
>>>
>>> Joe
>>>
>>>
>>> Naz Irizarry wrote:
>>>>
>>>> BACKGROUND
>>>>
>>>> I am using ActiveMQ 4.1.1 under Java 5. My 6 broker test-network is
>>>> illustrated in the attachment. The brokers would not be colocated in
>>>> deployment though they are all running on one machine for testing.
>>>> In deployment there would be clients on all nodes.
>>>>
>>>> 
>>>> The clients FN1, FN2, and FN3 create serveral durable topics and
>>>> subscribe to each other's topics. The brokers use networkTTL="3",
>>>> conduitSubscriptions="false", dynamicOnly="false" Messages are
>>>> acknowledged immediately upon receipt by the clients.
>>>>
>>>>
>>>> PROBLEMS
>>>>
>>>> 1) Client FN1 sees messages from FN2 and FN3 each delivered twice
>>>> 2) Client FN2 sees all messages from FN1 delivered 4 times and
>>>> messages from FN3 delivered twice
>>>> 3) Client FN3 sees all messages from FN1 delivered 4 times and
>>>> messages from FN2 delivered twice
>>>> The duplicates arrive approximately one second apart.
>>>>
>>>> If I stop the brokers, zero out persistent stores, change the brokers
>>>> to conduitSubscriptions="true" restart the brokers and I bring up
>>>> FN1, FN2, and FN3 (in that order) then when FN3 comes up:
>>>>
>>>> 1) At broker bFN2 I get the error " INFO
>>>> DemandForwardingBridge - Network connection between vm://
>>>> bFn2#4 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
>>>> error: javax.jms.JMSException: Durable consumer is in use for client:
>>>> NC_bEn2_inboundbFn2 and subscriptionName: bFn2_ds.Union-3"
>>>> 2) At broker vFN3 I get the error " INFO
>>>> DemandForwardingBridge - Network connection between vm://
>>>> bFn3#0 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
>>>> error: javax.jms.JMSException: Durable consumer is in use for client:
>>>> NC_bEn2_inboundbFn3 and subscriptionName: bFn3_da.Availability"
>>>>
>>>> Is this a misconfiguration problem or are these known problems?
>>>>
>>>>
>>>> Below are 3 of the configurations
>>>>
>>>> --------------
>>>> Configuration for bEn2:
>>>>
>>>> <beans>
>>>>
>>>> <bean
>>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>>> gurer"/>
>>>>
>>>> <broker brokerName="bEn2" useJmx="false" persistent="false"
>>>> xmlns="http://activemq.org/config/1.0">
>>>>
>>>> <destinationPolicy>
>>>> <policyMap>
>>>> <policyEntries>
>>>>
>>>> <policyEntry topic="ds.>">
>>>> <dispatchPolicy>
>>>> <strictOrderDispatchPolicy/>
>>>> </dispatchPolicy>
>>>> <subscriptionRecoveryPolicy>
>>>> <timedSubscriptionRecoveryPolicy
>>>> recoverDuration="900000"/>
>>>> </subscriptionRecoveryPolicy>
>>>>
>>>> </policyEntry>
>>>> <policyEntry topic="da.>">
>>>> <dispatchPolicy>
>>>> <strictOrderDispatchPolicy/>
>>>> </dispatchPolicy>
>>>> <subscriptionRecoveryPolicy>
>>>> <timedSubscriptionRecoveryPolicy
>>>> recoverDuration="300000"/>
>>>> </subscriptionRecoveryPolicy>
>>>> </policyEntry>
>>>>
>>>> </policyEntries>
>>>> </policyMap>
>>>> </destinationPolicy>
>>>>
>>>> <persistenceAdapter>
>>>> <journaledJDBC journalLogFiles="5"
>>>> dataDirectory="$activemq.base/activemq-data"/>
>>>> </persistenceAdapter>
>>>>
>>>> <transportConnectors>
>>>> <!-- 9123 is for local access -->
>>>> <!-- 9124 is used to bridge the activemq's to each other -->
>>>> <transportConnector name="c1" uri="tcp://localhost:9123"/>
>>>> <transportConnector name="c2" uri="ssl://localhost:9124"/>
>>>> </transportConnectors>
>>>>
>>>> <networkConnectors>
>>>>
>>>> <!-- Cross Connection to Other Enterprise node -->
>>>> <networkConnector name="entBridge1"
>>>> uri="static:(ssl://localhost:9024)"
>>>> dynamicOnly="false"
>>>> conduitSubscriptions="false"
>>>> networkTTL="3"
>>>> prefetchSize="10"
>>>> >
>>>>
>>>> </networkConnector>
>>>>
>>>> <!-- Connection to Forward Node 2 -->
>>>> <networkConnector name="forward2"
>>>> uri="static:(ssl://localhost:9324)"
>>>> dynamicOnly="false"
>>>> conduitSubscriptions="false"
>>>> prefetchSize="10"
>>>> networkTTL="3"
>>>> >
>>>>
>>>> </networkConnector>
>>>>
>>>> <!-- Connection to Forward Node 3 -->
>>>> <networkConnector name="forward3"
>>>> uri="static:(ssl://localhost:9424)"
>>>> dynamicOnly="false"
>>>> conduitSubscriptions="false"
>>>> prefetchSize="10"
>>>> networkTTL="3"
>>>> >
>>>> </networkConnector>
>>>> </networkConnectors>
>>>> </broker>
>>>> </beans>
>>>>
>>>> -------------
>>>> Configuration for bFn2:
>>>>
>>>> <beans>
>>>>
>>>> <!-- Allows us to use system properties as variables in this
>>>> configuration file -->
>>>> <bean
>>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>>> gurer"/>
>>>>
>>>> <broker brokerName="bFn2" useJmx="false" persistent="false"
>>>> xmlns="http://activemq.org/config/1.0">
>>>>
>>>> <destinationPolicy>
>>>> <policyMap>
>>>> <policyEntries>
>>>>
>>>> <policyEntry topic="ds.>">
>>>> <dispatchPolicy>
>>>> <strictOrderDispatchPolicy/>
>>>> </dispatchPolicy>
>>>> <subscriptionRecoveryPolicy>
>>>> <timedSubscriptionRecoveryPolicy
>>>> recoverDuration="900000"/>
>>>> </subscriptionRecoveryPolicy>
>>>>
>>>> </policyEntry>
>>>> <policyEntry topic="da.>">
>>>> <dispatchPolicy>
>>>> <strictOrderDispatchPolicy/>
>>>> </dispatchPolicy>
>>>> <subscriptionRecoveryPolicy>
>>>> <timedSubscriptionRecoveryPolicy
>>>> recoverDuration="300000"/>
>>>> </subscriptionRecoveryPolicy>
>>>> </policyEntry>
>>>>
>>>> </policyEntries>
>>>> </policyMap>
>>>> </destinationPolicy>
>>>>
>>>> <persistenceAdapter>
>>>> <journaledJDBC journalLogFiles="5"
>>>> dataDirectory="$activemq.base/activemq-data"/>
>>>> </persistenceAdapter>
>>>>
>>>> <transportConnectors>
>>>> <!-- 9023 is for local access -->
>>>> <!-- 9024 is used to bridge the activemq's to each other -->
>>>> <transportConnector name="c1" uri="tcp://localhost:9323"/>
>>>> <transportConnector name="c2" uri="ssl://localhost:9324"/>
>>>> </transportConnectors>
>>>>
>>>> <networkConnectors>
>>>>
>>>> <!-- Connection to Enterprise node 2 -->
>>>> <networkConnector name="en2a"
>>>> uri="static:(ssl://localhost:9124)"
>>>> dynamicOnly="false"
>>>> conduitSubscriptions="false"
>>>> networkTTL="3"
>>>> prefetchSize="10"
>>>> >
>>>> </networkConnector>
>>>>
>>>> </networkConnectors>
>>>> </broker>
>>>> </beans>
>>>>
>>>> -------------
>>>> Configuration for bFn3:
>>>>
>>>> <beans>
>>>> <bean
>>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>>> gurer"/>
>>>>
>>>> <broker brokerName="bFn3" useJmx="false" persistent="false"
>>>> xmlns="http://activemq.org/config/1.0">
>>>>
>>>> <destinationPolicy>
>>>> <policyMap>
>>>> <policyEntries>
>>>>
>>>> <policyEntry topic="ds.>">
>>>> <dispatchPolicy>
>>>> <strictOrderDispatchPolicy/>
>>>> </dispatchPolicy>
>>>> <subscriptionRecoveryPolicy>
>>>> <timedSubscriptionRecoveryPolicy
>>>> recoverDuration="900000"/>
>>>> </subscriptionRecoveryPolicy>
>>>> </policyEntry>
>>>>
>>>> <policyEntry topic="da.>">
>>>> <dispatchPolicy>
>>>> <strictOrderDispatchPolicy/>
>>>> </dispatchPolicy>
>>>> <subscriptionRecoveryPolicy>
>>>> <timedSubscriptionRecoveryPolicy
>>>> recoverDuration="300000"/>
>>>> </subscriptionRecoveryPolicy>
>>>> </policyEntry>
>>>>
>>>> </policyEntries>
>>>> </policyMap>
>>>> </destinationPolicy>
>>>>
>>>> <persistenceAdapter>
>>>> <journaledJDBC journalLogFiles="5"
>>>> dataDirectory="$activemq.base/activemq-data"/>
>>>> </persistenceAdapter>
>>>>
>>>> <transportConnectors>
>>>> <!-- 9423 is for internal access -->
>>>> <!-- 9424 is used to bridge the activemq's to each other -->
>>>> <transportConnector name="c1" uri="tcp://localhost:9423"/>
>>>> <transportConnector name="c2" uri="ssl://localhost:9424"/>
>>>> </transportConnectors>
>>>>
>>>> <networkConnectors>
>>>>
>>>> <!-- Connection to Enterprise node 2 -->
>>>> <networkConnector name="en2b"
>>>> uri="static:(ssl://localhost:9124)"
>>>> dynamicOnly="false"
>>>> conduitSubscriptions="false"
>>>> prefetchSize="10"
>>>> networkTTL="3"
>>>> >
>>>> </networkConnector>
>>>> </networkConnectors>
>>>> </broker>
>>>> </beans>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/6-broker-node-network-results-in-many-duplicate-messages-or-%22durable-consumer-in-use%22-errors-tf4268320s2354.html#a13121397
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: 6 broker node network results in many duplicate messages or
"durable consumer in use" errors
Posted by ddossot <da...@dossot.net>.
FYI: I have lowered the log threshold of org.apache.activemq.network to
DEBUG, as it is at this level the stack trace captured in the handling of
"shutdown due to a local error" is logged, and will report here the details
of the error that makes the bridge fall down.
D.
ddossot wrote:
>
> Same here: I have a simple 2 brokers configuration, which discover
> themselves via Zeroconf, and the bridge between them regularly fails:
>
> 09:27:49,996 INFO [org.apache.activemq.network.DemandForwardingBridge]
> Network connection between vm://node1#2 and tcp://node2/10.20.116.14:58080
> shutdown due to a local error: java.lan
> g.NullPointerException
> 09:27:50,216 INFO [org.apache.activemq.network.DemandForwardingBridge]
> node1 bridge to node2 stopped
>
> D.
>
>
> ttmdev wrote:
>>
>> We are also experiencing more or less the same situation, but with a
>> configuration comprising 2 brokers, one publisher and one durable
>> subscriber. The brokers and clients are using 'discovery'.
>>
>> Has anyone looked into this?
>>
>> Joe
>>
>>
>> Naz Irizarry wrote:
>>>
>>> BACKGROUND
>>>
>>> I am using ActiveMQ 4.1.1 under Java 5. My 6 broker test-network is
>>> illustrated in the attachment. The brokers would not be colocated in
>>> deployment though they are all running on one machine for testing.
>>> In deployment there would be clients on all nodes.
>>>
>>> 
>>> The clients FN1, FN2, and FN3 create serveral durable topics and
>>> subscribe to each other's topics. The brokers use networkTTL="3",
>>> conduitSubscriptions="false", dynamicOnly="false" Messages are
>>> acknowledged immediately upon receipt by the clients.
>>>
>>>
>>> PROBLEMS
>>>
>>> 1) Client FN1 sees messages from FN2 and FN3 each delivered twice
>>> 2) Client FN2 sees all messages from FN1 delivered 4 times and
>>> messages from FN3 delivered twice
>>> 3) Client FN3 sees all messages from FN1 delivered 4 times and
>>> messages from FN2 delivered twice
>>> The duplicates arrive approximately one second apart.
>>>
>>> If I stop the brokers, zero out persistent stores, change the brokers
>>> to conduitSubscriptions="true" restart the brokers and I bring up
>>> FN1, FN2, and FN3 (in that order) then when FN3 comes up:
>>>
>>> 1) At broker bFN2 I get the error " INFO
>>> DemandForwardingBridge - Network connection between vm://
>>> bFn2#4 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
>>> error: javax.jms.JMSException: Durable consumer is in use for client:
>>> NC_bEn2_inboundbFn2 and subscriptionName: bFn2_ds.Union-3"
>>> 2) At broker vFN3 I get the error " INFO
>>> DemandForwardingBridge - Network connection between vm://
>>> bFn3#0 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
>>> error: javax.jms.JMSException: Durable consumer is in use for client:
>>> NC_bEn2_inboundbFn3 and subscriptionName: bFn3_da.Availability"
>>>
>>> Is this a misconfiguration problem or are these known problems?
>>>
>>>
>>> Below are 3 of the configurations
>>>
>>> --------------
>>> Configuration for bEn2:
>>>
>>> <beans>
>>>
>>> <bean
>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>> gurer"/>
>>>
>>> <broker brokerName="bEn2" useJmx="false" persistent="false"
>>> xmlns="http://activemq.org/config/1.0">
>>>
>>> <destinationPolicy>
>>> <policyMap>
>>> <policyEntries>
>>>
>>> <policyEntry topic="ds.>">
>>> <dispatchPolicy>
>>> <strictOrderDispatchPolicy/>
>>> </dispatchPolicy>
>>> <subscriptionRecoveryPolicy>
>>> <timedSubscriptionRecoveryPolicy
>>> recoverDuration="900000"/>
>>> </subscriptionRecoveryPolicy>
>>>
>>> </policyEntry>
>>> <policyEntry topic="da.>">
>>> <dispatchPolicy>
>>> <strictOrderDispatchPolicy/>
>>> </dispatchPolicy>
>>> <subscriptionRecoveryPolicy>
>>> <timedSubscriptionRecoveryPolicy
>>> recoverDuration="300000"/>
>>> </subscriptionRecoveryPolicy>
>>> </policyEntry>
>>>
>>> </policyEntries>
>>> </policyMap>
>>> </destinationPolicy>
>>>
>>> <persistenceAdapter>
>>> <journaledJDBC journalLogFiles="5"
>>> dataDirectory="$activemq.base/activemq-data"/>
>>> </persistenceAdapter>
>>>
>>> <transportConnectors>
>>> <!-- 9123 is for local access -->
>>> <!-- 9124 is used to bridge the activemq's to each other -->
>>> <transportConnector name="c1" uri="tcp://localhost:9123"/>
>>> <transportConnector name="c2" uri="ssl://localhost:9124"/>
>>> </transportConnectors>
>>>
>>> <networkConnectors>
>>>
>>> <!-- Cross Connection to Other Enterprise node -->
>>> <networkConnector name="entBridge1"
>>> uri="static:(ssl://localhost:9024)"
>>> dynamicOnly="false"
>>> conduitSubscriptions="false"
>>> networkTTL="3"
>>> prefetchSize="10"
>>> >
>>>
>>> </networkConnector>
>>>
>>> <!-- Connection to Forward Node 2 -->
>>> <networkConnector name="forward2"
>>> uri="static:(ssl://localhost:9324)"
>>> dynamicOnly="false"
>>> conduitSubscriptions="false"
>>> prefetchSize="10"
>>> networkTTL="3"
>>> >
>>>
>>> </networkConnector>
>>>
>>> <!-- Connection to Forward Node 3 -->
>>> <networkConnector name="forward3"
>>> uri="static:(ssl://localhost:9424)"
>>> dynamicOnly="false"
>>> conduitSubscriptions="false"
>>> prefetchSize="10"
>>> networkTTL="3"
>>> >
>>> </networkConnector>
>>> </networkConnectors>
>>> </broker>
>>> </beans>
>>>
>>> -------------
>>> Configuration for bFn2:
>>>
>>> <beans>
>>>
>>> <!-- Allows us to use system properties as variables in this
>>> configuration file -->
>>> <bean
>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>> gurer"/>
>>>
>>> <broker brokerName="bFn2" useJmx="false" persistent="false"
>>> xmlns="http://activemq.org/config/1.0">
>>>
>>> <destinationPolicy>
>>> <policyMap>
>>> <policyEntries>
>>>
>>> <policyEntry topic="ds.>">
>>> <dispatchPolicy>
>>> <strictOrderDispatchPolicy/>
>>> </dispatchPolicy>
>>> <subscriptionRecoveryPolicy>
>>> <timedSubscriptionRecoveryPolicy
>>> recoverDuration="900000"/>
>>> </subscriptionRecoveryPolicy>
>>>
>>> </policyEntry>
>>> <policyEntry topic="da.>">
>>> <dispatchPolicy>
>>> <strictOrderDispatchPolicy/>
>>> </dispatchPolicy>
>>> <subscriptionRecoveryPolicy>
>>> <timedSubscriptionRecoveryPolicy
>>> recoverDuration="300000"/>
>>> </subscriptionRecoveryPolicy>
>>> </policyEntry>
>>>
>>> </policyEntries>
>>> </policyMap>
>>> </destinationPolicy>
>>>
>>> <persistenceAdapter>
>>> <journaledJDBC journalLogFiles="5"
>>> dataDirectory="$activemq.base/activemq-data"/>
>>> </persistenceAdapter>
>>>
>>> <transportConnectors>
>>> <!-- 9023 is for local access -->
>>> <!-- 9024 is used to bridge the activemq's to each other -->
>>> <transportConnector name="c1" uri="tcp://localhost:9323"/>
>>> <transportConnector name="c2" uri="ssl://localhost:9324"/>
>>> </transportConnectors>
>>>
>>> <networkConnectors>
>>>
>>> <!-- Connection to Enterprise node 2 -->
>>> <networkConnector name="en2a"
>>> uri="static:(ssl://localhost:9124)"
>>> dynamicOnly="false"
>>> conduitSubscriptions="false"
>>> networkTTL="3"
>>> prefetchSize="10"
>>> >
>>> </networkConnector>
>>>
>>> </networkConnectors>
>>> </broker>
>>> </beans>
>>>
>>> -------------
>>> Configuration for bFn3:
>>>
>>> <beans>
>>> <bean
>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>> gurer"/>
>>>
>>> <broker brokerName="bFn3" useJmx="false" persistent="false"
>>> xmlns="http://activemq.org/config/1.0">
>>>
>>> <destinationPolicy>
>>> <policyMap>
>>> <policyEntries>
>>>
>>> <policyEntry topic="ds.>">
>>> <dispatchPolicy>
>>> <strictOrderDispatchPolicy/>
>>> </dispatchPolicy>
>>> <subscriptionRecoveryPolicy>
>>> <timedSubscriptionRecoveryPolicy
>>> recoverDuration="900000"/>
>>> </subscriptionRecoveryPolicy>
>>> </policyEntry>
>>>
>>> <policyEntry topic="da.>">
>>> <dispatchPolicy>
>>> <strictOrderDispatchPolicy/>
>>> </dispatchPolicy>
>>> <subscriptionRecoveryPolicy>
>>> <timedSubscriptionRecoveryPolicy
>>> recoverDuration="300000"/>
>>> </subscriptionRecoveryPolicy>
>>> </policyEntry>
>>>
>>> </policyEntries>
>>> </policyMap>
>>> </destinationPolicy>
>>>
>>> <persistenceAdapter>
>>> <journaledJDBC journalLogFiles="5"
>>> dataDirectory="$activemq.base/activemq-data"/>
>>> </persistenceAdapter>
>>>
>>> <transportConnectors>
>>> <!-- 9423 is for internal access -->
>>> <!-- 9424 is used to bridge the activemq's to each other -->
>>> <transportConnector name="c1" uri="tcp://localhost:9423"/>
>>> <transportConnector name="c2" uri="ssl://localhost:9424"/>
>>> </transportConnectors>
>>>
>>> <networkConnectors>
>>>
>>> <!-- Connection to Enterprise node 2 -->
>>> <networkConnector name="en2b"
>>> uri="static:(ssl://localhost:9124)"
>>> dynamicOnly="false"
>>> conduitSubscriptions="false"
>>> prefetchSize="10"
>>> networkTTL="3"
>>> >
>>> </networkConnector>
>>> </networkConnectors>
>>> </broker>
>>> </beans>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/6-broker-node-network-results-in-many-duplicate-messages-or-%22durable-consumer-in-use%22-errors-tf4268320s2354.html#a13077071
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: 6 broker node network results in many duplicate messages or
"durable consumer in use" errors
Posted by ddossot <da...@dossot.net>.
Same here: I have a simple 2 brokers configuration, which discover themselves
via Zeroconf, and the bridge between them regularly fails:
09:27:49,996 INFO [org.apache.activemq.network.DemandForwardingBridge]
Network connection between vm://node1#2 and tcp://node2/10.20.116.14:58080
shutdown due to a local error: java.lan
g.NullPointerException
09:27:50,216 INFO [org.apache.activemq.network.DemandForwardingBridge]
node1 bridge to node2 stopped
D.
ttmdev wrote:
>
> We are also experiencing more or less the same situation, but with a
> configuration comprising 2 brokers, one publisher and one durable
> subscriber. The brokers and clients are using 'discovery'.
>
> Has anyone looked into this?
>
> Joe
>
>
> Naz Irizarry wrote:
>>
>> BACKGROUND
>>
>> I am using ActiveMQ 4.1.1 under Java 5. My 6 broker test-network is
>> illustrated in the attachment. The brokers would not be colocated in
>> deployment though they are all running on one machine for testing.
>> In deployment there would be clients on all nodes.
>>
>> 
>> The clients FN1, FN2, and FN3 create serveral durable topics and
>> subscribe to each other's topics. The brokers use networkTTL="3",
>> conduitSubscriptions="false", dynamicOnly="false" Messages are
>> acknowledged immediately upon receipt by the clients.
>>
>>
>> PROBLEMS
>>
>> 1) Client FN1 sees messages from FN2 and FN3 each delivered twice
>> 2) Client FN2 sees all messages from FN1 delivered 4 times and
>> messages from FN3 delivered twice
>> 3) Client FN3 sees all messages from FN1 delivered 4 times and
>> messages from FN2 delivered twice
>> The duplicates arrive approximately one second apart.
>>
>> If I stop the brokers, zero out persistent stores, change the brokers
>> to conduitSubscriptions="true" restart the brokers and I bring up
>> FN1, FN2, and FN3 (in that order) then when FN3 comes up:
>>
>> 1) At broker bFN2 I get the error " INFO
>> DemandForwardingBridge - Network connection between vm://
>> bFn2#4 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
>> error: javax.jms.JMSException: Durable consumer is in use for client:
>> NC_bEn2_inboundbFn2 and subscriptionName: bFn2_ds.Union-3"
>> 2) At broker vFN3 I get the error " INFO
>> DemandForwardingBridge - Network connection between vm://
>> bFn3#0 and ssl://localhost/127.0.0.1:9124 shutdown due to a local
>> error: javax.jms.JMSException: Durable consumer is in use for client:
>> NC_bEn2_inboundbFn3 and subscriptionName: bFn3_da.Availability"
>>
>> Is this a misconfiguration problem or are these known problems?
>>
>>
>> Below are 3 of the configurations
>>
>> --------------
>> Configuration for bEn2:
>>
>> <beans>
>>
>> <bean
>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>> gurer"/>
>>
>> <broker brokerName="bEn2" useJmx="false" persistent="false"
>> xmlns="http://activemq.org/config/1.0">
>>
>> <destinationPolicy>
>> <policyMap>
>> <policyEntries>
>>
>> <policyEntry topic="ds.>">
>> <dispatchPolicy>
>> <strictOrderDispatchPolicy/>
>> </dispatchPolicy>
>> <subscriptionRecoveryPolicy>
>> <timedSubscriptionRecoveryPolicy
>> recoverDuration="900000"/>
>> </subscriptionRecoveryPolicy>
>>
>> </policyEntry>
>> <policyEntry topic="da.>">
>> <dispatchPolicy>
>> <strictOrderDispatchPolicy/>
>> </dispatchPolicy>
>> <subscriptionRecoveryPolicy>
>> <timedSubscriptionRecoveryPolicy
>> recoverDuration="300000"/>
>> </subscriptionRecoveryPolicy>
>> </policyEntry>
>>
>> </policyEntries>
>> </policyMap>
>> </destinationPolicy>
>>
>> <persistenceAdapter>
>> <journaledJDBC journalLogFiles="5"
>> dataDirectory="$activemq.base/activemq-data"/>
>> </persistenceAdapter>
>>
>> <transportConnectors>
>> <!-- 9123 is for local access -->
>> <!-- 9124 is used to bridge the activemq's to each other -->
>> <transportConnector name="c1" uri="tcp://localhost:9123"/>
>> <transportConnector name="c2" uri="ssl://localhost:9124"/>
>> </transportConnectors>
>>
>> <networkConnectors>
>>
>> <!-- Cross Connection to Other Enterprise node -->
>> <networkConnector name="entBridge1"
>> uri="static:(ssl://localhost:9024)"
>> dynamicOnly="false"
>> conduitSubscriptions="false"
>> networkTTL="3"
>> prefetchSize="10"
>> >
>>
>> </networkConnector>
>>
>> <!-- Connection to Forward Node 2 -->
>> <networkConnector name="forward2"
>> uri="static:(ssl://localhost:9324)"
>> dynamicOnly="false"
>> conduitSubscriptions="false"
>> prefetchSize="10"
>> networkTTL="3"
>> >
>>
>> </networkConnector>
>>
>> <!-- Connection to Forward Node 3 -->
>> <networkConnector name="forward3"
>> uri="static:(ssl://localhost:9424)"
>> dynamicOnly="false"
>> conduitSubscriptions="false"
>> prefetchSize="10"
>> networkTTL="3"
>> >
>> </networkConnector>
>> </networkConnectors>
>> </broker>
>> </beans>
>>
>> -------------
>> Configuration for bFn2:
>>
>> <beans>
>>
>> <!-- Allows us to use system properties as variables in this
>> configuration file -->
>> <bean
>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>> gurer"/>
>>
>> <broker brokerName="bFn2" useJmx="false" persistent="false"
>> xmlns="http://activemq.org/config/1.0">
>>
>> <destinationPolicy>
>> <policyMap>
>> <policyEntries>
>>
>> <policyEntry topic="ds.>">
>> <dispatchPolicy>
>> <strictOrderDispatchPolicy/>
>> </dispatchPolicy>
>> <subscriptionRecoveryPolicy>
>> <timedSubscriptionRecoveryPolicy
>> recoverDuration="900000"/>
>> </subscriptionRecoveryPolicy>
>>
>> </policyEntry>
>> <policyEntry topic="da.>">
>> <dispatchPolicy>
>> <strictOrderDispatchPolicy/>
>> </dispatchPolicy>
>> <subscriptionRecoveryPolicy>
>> <timedSubscriptionRecoveryPolicy
>> recoverDuration="300000"/>
>> </subscriptionRecoveryPolicy>
>> </policyEntry>
>>
>> </policyEntries>
>> </policyMap>
>> </destinationPolicy>
>>
>> <persistenceAdapter>
>> <journaledJDBC journalLogFiles="5"
>> dataDirectory="$activemq.base/activemq-data"/>
>> </persistenceAdapter>
>>
>> <transportConnectors>
>> <!-- 9023 is for local access -->
>> <!-- 9024 is used to bridge the activemq's to each other -->
>> <transportConnector name="c1" uri="tcp://localhost:9323"/>
>> <transportConnector name="c2" uri="ssl://localhost:9324"/>
>> </transportConnectors>
>>
>> <networkConnectors>
>>
>> <!-- Connection to Enterprise node 2 -->
>> <networkConnector name="en2a"
>> uri="static:(ssl://localhost:9124)"
>> dynamicOnly="false"
>> conduitSubscriptions="false"
>> networkTTL="3"
>> prefetchSize="10"
>> >
>> </networkConnector>
>>
>> </networkConnectors>
>> </broker>
>> </beans>
>>
>> -------------
>> Configuration for bFn3:
>>
>> <beans>
>> <bean
>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>> gurer"/>
>>
>> <broker brokerName="bFn3" useJmx="false" persistent="false"
>> xmlns="http://activemq.org/config/1.0">
>>
>> <destinationPolicy>
>> <policyMap>
>> <policyEntries>
>>
>> <policyEntry topic="ds.>">
>> <dispatchPolicy>
>> <strictOrderDispatchPolicy/>
>> </dispatchPolicy>
>> <subscriptionRecoveryPolicy>
>> <timedSubscriptionRecoveryPolicy
>> recoverDuration="900000"/>
>> </subscriptionRecoveryPolicy>
>> </policyEntry>
>>
>> <policyEntry topic="da.>">
>> <dispatchPolicy>
>> <strictOrderDispatchPolicy/>
>> </dispatchPolicy>
>> <subscriptionRecoveryPolicy>
>> <timedSubscriptionRecoveryPolicy
>> recoverDuration="300000"/>
>> </subscriptionRecoveryPolicy>
>> </policyEntry>
>>
>> </policyEntries>
>> </policyMap>
>> </destinationPolicy>
>>
>> <persistenceAdapter>
>> <journaledJDBC journalLogFiles="5"
>> dataDirectory="$activemq.base/activemq-data"/>
>> </persistenceAdapter>
>>
>> <transportConnectors>
>> <!-- 9423 is for internal access -->
>> <!-- 9424 is used to bridge the activemq's to each other -->
>> <transportConnector name="c1" uri="tcp://localhost:9423"/>
>> <transportConnector name="c2" uri="ssl://localhost:9424"/>
>> </transportConnectors>
>>
>> <networkConnectors>
>>
>> <!-- Connection to Enterprise node 2 -->
>> <networkConnector name="en2b"
>> uri="static:(ssl://localhost:9124)"
>> dynamicOnly="false"
>> conduitSubscriptions="false"
>> prefetchSize="10"
>> networkTTL="3"
>> >
>> </networkConnector>
>> </networkConnectors>
>> </broker>
>> </beans>
>>
>>
>>
>>
>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/6-broker-node-network-results-in-many-duplicate-messages-or-%22durable-consumer-in-use%22-errors-tf4268320s2354.html#a13063065
Sent from the ActiveMQ - User mailing list archive at Nabble.com.