activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ddossot <da...@dossot.net>
Subject Re: 6 broker node network results in many duplicate messages or "durable consumer in use" errors
Date Sat, 06 Oct 2007 20:05:07 GMT

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.


Mime
View raw message