[
https://issues.apache.org/jira/browse/AMQ-5819?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish reassigned AMQ-5819:
---------------------------------
Assignee: Timothy Bish
> Failover Transport - Sleep for Reconnect Delay happens twice per iteration
> --------------------------------------------------------------------------
>
> Key: AMQ-5819
> URL: https://issues.apache.org/jira/browse/AMQ-5819
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.10.0, 5.10.1, 5.10.2, 5.11.0, 5.11.1
> Reporter: Eric Wyles
> Assignee: Timothy Bish
> Priority: Minor
>
> When the failover transport is attempting to reconnect, it appears to sleep
> two different times, resulting in more than the expected reconnect delay.
> To reproduce:
> - start a jms client with brokerUrl:
> failover:(tcp://hostname:61616)?randomize=false&warnAfterReconnectAttempts=1
> - turn on debug logging for logger
> 'org.apache.activemq.transport.failover.FailoverTransport'
> - Once the application has connected, stop the broker on hostname
> While the broker is down, observe the logs from
> org.apache.activemq.transport.failover.FailoverTransport, and you will see
> the following pattern for each iteration:
> =====================
> WARN - Failed to connect to [tcp://hostname:61616] after: n attempt(s)
> continuing to retry.
> DEBUG - Waiting <reconnectDelay> ms before attempting connection
> -- sleep happens here
> DEBUG - urlList connectionList:[tcp://hostname:61616], from:
> [tcp://hostname:61616]
> DEBUG - Waiting <reconnectDelay> ms before attempting connection
> --- sleep happens here
> DEBUG - Attempting nth connect to: tcp://hostname:61616
> DEBUG - Connect fail to: tcp://hostname:61616, reason:
> java.net.ConnectException: Connection refused: connect
> =====================
> The above sequence is repeated for as long as the broker is down, with the
> exponent applied to the reconnectDelay in between the above two instances of
> sleep. In the configuration above, once the maxReconnectDelay is reached (30
> seconds) it is actually 1 minute between attempts to reconnect to the broker.
> Log output with timestamps is shown below, and you can see that it is 1
> minute between attempting the 13th connection and attempting to 14th
> connection, even though maxReconnectDelay is 30 seconds:
> log4j.appender.CONSOLE.layout.ConversionPattern=%d [%C:%-4L] %-5p - %m%n
> =====================
> 2015-06-02 10:39:19,824
> [org.apache.activemq.transport.failover.FailoverTransport:1024] DEBUG -
> Attempting 13th connect to: tcp://hostname:61616
> 2015-06-02 10:39:20,860
> [org.apache.activemq.transport.failover.FailoverTransport:1075] DEBUG -
> Connect fail to: tcp://hostname:61616, reason: java.net.ConnectException:
> Connection refused: connect
> 2015-06-02 10:39:20,860
> [org.apache.activemq.transport.failover.FailoverTransport:1119] WARN -
> Failed to connect to [tcp://hostname:61616] after: 14 attempt(s) continuing
> to retry.
> 2015-06-02 10:39:20,860
> [org.apache.activemq.transport.failover.FailoverTransport:1135] DEBUG -
> Waiting 30000 ms before attempting connection
> 2015-06-02 10:39:50,868
> [org.apache.activemq.transport.failover.FailoverTransport:814 ] DEBUG -
> urlList connectionList:[tcp://hostname:61616], from: [tcp://hostname:61616]
> 2015-06-02 10:39:50,868
> [org.apache.activemq.transport.failover.FailoverTransport:1000] DEBUG -
> Waiting 30000 ms before attempting connection.
> 2015-06-02 10:40:20,870
> [org.apache.activemq.transport.failover.FailoverTransport:1024] DEBUG -
> Attempting 14th connect to: tcp://hostname:61616
> =====================
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)