activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] [Commented] (AMQ-2743) Pure master/slave configuration will not failover to slave when master fails
Date Fri, 08 Apr 2011 09:43:05 GMT


Gary Tully commented on AMQ-2743:

NetworkConnectors and the failover transport can work against each other as they both do retries
to reconnect on failure.
When failover is used with a network connector, the failover transport needs to propagate
a failure such that the network bridge can be recreated. To achieve this you need to provide
maxReconnectAttempts=1. In this way, failover is used to choose the uri to connect to, but
when it fails it lets the network connector know such that it can retry creating the bridge.

To determine if this is the problem, replace the use of network connector with failover (uri1,
uri2) with two network connectors, one to uri1 and the other to uri2.

> Pure master/slave configuration will not failover to slave when master fails 
> -----------------------------------------------------------------------------
>                 Key: AMQ-2743
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.1
>            Reporter: Bruce Snyder
>             Fix For: 5.6.0
>         Attachments: activemq-brokerA.xml, activemq-brokerB-master.xml, activemq-brokerB-slave.xml
> When using a pure/master slave configuration in ActiveMQ 5.3.1 and the master is killed,
the failover to the slave never takes place. 
> Below is a description of the topology being used: 
> * The producer sends messages to brokerA 
> * BrokerA has a uni-directional network connection using the failover transport to brokerB-master
and brokerB-slave 
> * BrokerB-master and brokerB-slave each have a uni-directional network connection using
failover to brokerA 
> * The consumer uses a failover connection to brokerB-master and brokerB-slave 
> Below are the steps to reproduce the problem: 
> # In terminal one, start up brokerA 
> # In terminal two, start up brokerB-master 
> # In terminal three, start up brokerB-slave 
> # In terminal four, start up the consumer that connects to brokerB-master and brokerB-slave
> # In terminal five, startup the producer that connects to brokerA to send messages 
> # In terminal two, kill brokerB-master 
> # Notice that the producer will continue sending messages until producer flow control
kicks in and blocks the send operation, but brokerB-slave never takes over 
> I copied the same exact configuration files over to instances of ActiveMQ 5.3.0 and it
works without a problem. There must be something in ActiveMQ 5.3.1 that is causing this issue.

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message