You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by ju...@barclays.com.INVALID on 2021/05/28 16:12:46 UTC

Issue with FailoverTransport in Apache.NMS.ActiveMQ 1.8.0

I have experienced an issue with the above: in the case that the FailoverTransport attempts to connect to a broker configured for SSL using tcp: scheme it loops forever seeking to (re-)establish a connection .

I am concerned at the impact this may have on our product, in that it is consumed and configured by others.

Sorry, I have not attempted a fix for this at this time because of the complexity of the code and the implied risks.

Details
                Configure Broker to support Openwire/ssl:           <transportConnector name="openwire" uri="ssl://0.0.0.0:61616?transport.enabledProtocols=TLSv1.2;maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600&amp;transport.keepAliveResponseRequired=true"/>

Connect client to: failover:tcp://ServerFQDN:61616?connection.useCompression=true&connectionTimeout=1000&startupMaxReconnectAttempts=2&maxReconnectAttempts=2&initialReconnectDelay=100&requestTimeout=2000
      Or        failover:(tcp://ServerFQDN:61616?connection.useCompression=true&connectionTimeout=1000&startupMaxReconnectAttempts=2&maxReconnectAttempts=2&initialReconnectDelay=100&requestTimeout=2000)  behaviour is the same


.
WireShark shows
173   2875.699885 {Client IP Addr}  {Server IP Addr}  TCP   66    51094 $B"*(B 61616 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
174   2875.726665 {Server IP Addr}  {Client IP Addr}  TCP   66    61616 $B"*(B 51094 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1350 WS=256 SACK_PERM=1
175   2875.726791 {Client IP Addr}  {Server IP Addr}  TCP   54    51094 $B"*(B 61616 [ACK] Seq=1 Ack=1 Win=66048 Len=0
176   2875.729875 {Client IP Addr}  {Server IP Addr}  OpenWire    276      WireFormatInfo
177   2875.757213 {Server IP Addr}  {Client IP Addr}  TCP   61    61616 $B"*(B 51094 [PSH, ACK] Seq=1 Ack=223 Win=262400 Len=7 [TCP segment of a reassembled PDU]
178   2875.757213 {Server IP Addr}  {Client IP Addr}  TCP   60    61616 $B"*(B 51094 [FIN, ACK] Seq=8 Ack=223 Win=262400 Len=0



Log output
2021-05-28 15:34:13.7334|INFO|ActiveMq|Connecting to: failover:tcp://ServerFQDN:61616?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2
2021-05-28 15:34:13.7334|DEBUG|ActiveMq|Searching Assembly: Apache.NMS.ActiveMQfor factory of the id: failover
2021-05-28 15:34:13.8004|DEBUG|ActiveMq|Found the Factory of type Apache.NMS.ActiveMQ.Transport.Failover.FailoverTransportFactory for id: failover
2021-05-28 15:34:13.8114|DEBUG|ActiveMq|Reconnect was triggered but transport is not started yet. Wait for start to connect the transport.
2021-05-28 15:34:14.0964|DEBUG|ActiveMq|FailoverTransport Started.
2021-05-28 15:34:14.0964|DEBUG|ActiveMq|FailoverTransport not connected, start is reconnecting.
2021-05-28 15:34:14.0964|DEBUG|ActiveMq|Waking up reconnect task
2021-05-28 15:34:14.0964|DEBUG|ActiveMq|Uri connection list: tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2 from: tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2
2021-05-28 15:34:14.0964|DEBUG|ActiveMq|Attempting 0th connect to:
2021-05-28 15:34:14.0964|DEBUG|ActiveMq|Searching Assembly: Apache.NMS.ActiveMQfor factory of the id: tcp
2021-05-28 15:34:14.0964|DEBUG|ActiveMq|Found the Factory of type Apache.NMS.ActiveMQ.Transport.Tcp.TcpTransportFactory for id: tcp
2021-05-28 15:34:14.1054|DEBUG|ActiveMq|Opening socket to: ServerFQDN on port: 61616
2021-05-28 15:34:14.2384|DEBUG|ActiveMq|Connected to ServerFQDN:61616 using InterNetwork protocol.
2021-05-28 15:34:14.2534|DEBUG|ActiveMq|Creating Inactivity Monitor: 1
2021-05-28 15:34:14.3274|DEBUG|ActiveMq|Connection established
2021-05-28 15:34:14.3274|DEBUG|ActiveMq|Connection[ID:ClientName-58739-637578128539854785-1:0]: Transport has resumed normal operation.Connection resumed
2021-05-28 15:34:14.3274|INFO|ActiveMq|Successfully connected to tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2
2021-05-28 15:34:14.3894|DEBUG|ActiveMq|Exception received in the Inactivity Monitor: Unable to read beyond the end of the stream.
2021-05-28 15:34:14.3894|DEBUG|ActiveMq|InactivityMonitor[1]: Stopped Monitor Threads.
2021-05-28 15:34:14.4254|DEBUG|ActiveMq|InactivityMonitor[1]: Stopped Monitor Threads.
2021-05-28 15:34:14.4324|DEBUG|ActiveMq|Send Oneway attempt: 0 failed: Message = Channel was inactive for too long: tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2
2021-05-28 15:34:14.4324|DEBUG|ActiveMq|Failed Message Was: ConnectionInfo[ commandId = 1, responseRequired = True, ConnectionId = ID:ClientName-58739-637578128539854785-1:0, ClientId = Client id 27, Password = {password}, UserName = {username}, BrokerPath = , BrokerMasterConnector = False, Manageable = False, ClientMaster = False, FaultTolerant = True, FailoverReconnect = False, ClientIp =  ]
2021-05-28 15:34:14.4324|WARN|ActiveMq|Transport failed to tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2, attempting to automatically reconnect due to: Unable to read beyond the end of the stream.
2021-05-28 15:34:14.4324|DEBUG|ActiveMq|Connection[ID:ClientName-58739-637578128539854785-1:0]: Transport has been Interrupted.
2021-05-28 15:34:14.4324|DEBUG|ActiveMq|Connection[ID:ClientName-58739-637578128539854785-1:0]: Transport interrupted, dispatchers: 0Connection interrupted
2021-05-28 15:34:14.4324|DEBUG|ActiveMq|Uri connection list: tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2 from: tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2
2021-05-28 15:34:14.4484|DEBUG|ActiveMq|Waiting 10 ms before attempting connection.
2021-05-28 15:34:14.4484|DEBUG|ActiveMq|Attempting 0th connect to:
2021-05-28 15:34:14.4484|DEBUG|ActiveMq|Opening socket to: ServerFQDN on port: 61616
2021-05-28 15:34:14.4874|DEBUG|ActiveMq|Connected to ServerFQDN:61616 using InterNetwork protocol.
2021-05-28 15:34:14.4874|DEBUG|ActiveMq|Creating Inactivity Monitor: 2
2021-05-28 15:34:14.4874|INFO|ActiveMq|Restoring previous transport connection.
2021-05-28 15:34:14.5324|DEBUG|ActiveMq|Exception received in the Inactivity Monitor: Unable to read beyond the end of the stream.
2021-05-28 15:34:14.5324|DEBUG|ActiveMq|InactivityMonitor[2]: Stopped Monitor Threads.
2021-05-28 15:34:14.5594|DEBUG|ActiveMq|Connect fail to: tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2, reason:Channel was inactive for too long: tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2
2021-05-28 15:34:14.5594|DEBUG|ActiveMq|InactivityMonitor[2]: Stopped Monitor Threads.
2021-05-28 15:34:14.5594|DEBUG|ActiveMq|Waiting 10 ms before attempting connection
2021-05-28 15:34:14.5754|DEBUG|ActiveMq|Uri connection list: tcp://ServerFQDN:61616/?initialreconnectdelay=100&maxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2 from:cp://ServerFQDN:61616/?initialreconnectdelay=100&mxreconnectattempts=2&requesttimeout=2000&connectiontimeout=1000&startupmaxreconnectattempts=2
2021-05-28 15:34:14.5754|DEBUG|ActiveMq|Waiting 20 ms before attempting connection.
2021-05-28 15:34:14.5964|DEBUG|ActiveMq|Attempting 1th connect to:2021-05-28 15:34:14.5964|DEBUG|ActiveMq|Opening socket to: ServerFQDN on port: 61616
2021-05-28 15:34:14.6194|DEBUG|ActiveMq|Connected to ServerFQDN:61616 using InterNetwork protocol.
2021-05-28 15:34:14.6194|DEBUG|ActiveMq|Creating Inactivity Monitor: 3
2021-05-28 15:34:14.6194|INFO|ActiveMq|Restoring previous transport connection.
2021-05-28 15:34:14.6624|DEBUG|ActiveMq|Exception received in the Inactivity Monitor: Unable to read beyond the end of the stream.

$B!D(B  this continues, apparently indefinitely

Thank you,

Julian


_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
�This message is for information purposes only, it is not a recommendation, advice, offer or solicitation to buy or sell a product or service nor an official confirmation of any transaction. It is directed at persons who are professionals and is not intended for retail customer use. Intended for recipient only. This message is subject to the terms at: www.barclays.com/emaildisclaimer.

For important disclosures, please see: www.barclays.com/salesandtradingdisclaimer regarding market commentary from Barclays Sales and/or Trading, who are active market participants; https://www.investmentbank.barclays.com/disclosures/barclays-global-markets-disclosures.html regarding our standard terms for the Investment Bank of Barclays where we trade with you in principal-to-principal wholesale markets transactions; and in respect of Barclays Research, including disclosures relating to specific issuers, please see http://publicresearch.barclays.com.�  
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
If you are incorporated or operating in Australia, please see https://www.home.barclays/disclosures/importantapacdisclosures.html for important disclosure.
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________
How we use personal information  see our privacy notice https://www.investmentbank.barclays.com/disclosures/personalinformationuse.html 
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________