activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From brucent <bruc...@gmail.com>
Subject AMQ 5.5.1 - Message Routing Doesn't Resume After Network Outage
Date Thu, 29 Mar 2012 20:10:47 GMT
I have been seeing a problem where messages from a spoke instance of AMQ does
not always continue to send messages to a central hub instance using its
network connector after a network outage.  The network connector has
apparently reconnected, but the hub/network connector is no longer listed as
a subscriber for the spoke's queue.  

I simulated this by creating two broker instances on different ports with a
port forwarder connecting the spoke's network connector to the hub's
transport.  I connect a client to the hub instance and quickly send messages
to it.  The network connector is configured to exclude all queues except
this one and the messages arrive on the hub instance which has a consuming
client connected.  

While this is running, I start killing the port forwarder and bringing it
back up to simulate a network outage.  About half the time after the
reconnection messages stop being received by the hub instance and (in JMX)
the network connector is no longer subscribing to the spoke's queue.  I then
have to restart the spoke's AMQ instance to resume the message flow.

I was using 5.5.1-fuse-00-06, but I have also seen the problem in 5.5.1.  I
have not been able to verify if the problem exists in 5.5.1-fuse-03-06
because it appears that version has another problem where messages are
mistakenly being identified as duplicates after the reconnection and
messages are getting lost.

I'd appreciate any guidance if there are any settings that can help in this
situation.  Reducing the network connection's prefetchSize from its default
value does appear to reduce the likelihood of this problem occurring after a
reconnection, but setting the prefetchSize to 1 results in the connection
being too slow for us to use.  

This is the network connector's configuration:

    <networkConnectors>
      <networkConnector
uri="static:(failover://(tcp://localhost:63001)?updateURIsSupported=false)"
                        name="network-connector"
                        networkTTL="5"
                        conduitSubscriptions="true"
                        duplex="false"
                        suppressDuplicateQueueSubscriptions="false"
                        prefetchSize="1000"
                        >
        <excludedDestinations>
          <topic physicalName=">"/>
          <queue physicalName=">" />
        </excludedDestinations>
        
        <staticallyIncludedDestinations>
          <queue physicalName="test.queue"/>
        </staticallyIncludedDestinations>
      </networkConnector>
    </networkConnectors>


Thanks,
Bruce

--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-5-5-1-Message-Routing-Doesn-t-Resume-After-Network-Outage-tp4516807p4516807.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message