[ 
https://issues.apache.org/jira/browse/AMQ-3542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Tully resolved AMQ-3542.
-----------------------------

    Resolution: Fixed

fix and test in: http://svn.apache.org/viewvc?rev=1183062&view=rev

{{static:(failover:(a,b)?maxReconnectAttempts=0)}} now works reliably to choose 
a working url from (a,b) and report failures without trying to 
reconnect/failover. The network connector then gets to recover using its 
stop/restart logic.
This is a usage pattern for {{failover:}} where it is used solely to pick a 
valid broker url. It does *not* try to recover a failed connection. Network 
connectors need to manage failed connections themselves b/c they are not simple 
jms client connections.

Note: this commit changes the default value of maxReconnectAttempts for the 
failover: transport. A value of 0 now disables reconnections, the default for 
infinite retries is now -1.
                
> Using failover: with static discovery in a network connector to choose from a 
> master/slave tuple leads to hangs and invalid states
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3542
>                 URL: https://issues.apache.org/jira/browse/AMQ-3542
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector, Transport
>    Affects Versions: 5.4.2, 5.5.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: failover, master, network, slave
>             Fix For: 5.6.0
>
>
> static discovery will try to connect to all provided urls. When the list is a 
> master/slave pair with shared storage, only one will active, leading log 
> messages indicating repeated failure to connect.
> A potential solution is to use failover: just to pick a url but let it 
> delegate failover to the network connector such that the network bridge is 
> correctly stopped/restarted.
>   
> {{static:(failover:(tcp://a:61616,tcp://slave:61616)?maxReconnectAttempts=..)}}
> This does not work reliably atm, due to inconsistency in the failover 
> reconnect logic, a network connectors interest in transport 
> interruption/resumption and the lack of thread safety in tracking existing 
> bridges.
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to