[
https://issues.apache.org/jira/browse/AMQ-8154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17382316#comment-17382316
]
Matt Pavlovich commented on AMQ-8154:
-------------------------------------
Hello [[email protected]] - Have you tried this with a more recent
version of ActiveMQ? 5.13.2 is quite dated. Please retest with 5.16.2 and
report back if there is a reproduceable issue.
> ActiveMQ broker fails to re-establish connection with peer broker
> -----------------------------------------------------------------
>
> Key: AMQ-8154
> URL: https://issues.apache.org/jira/browse/AMQ-8154
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.13.2
> Reporter: Nauman Hameed
> Priority: Major
> Attachments: activemq.xml-primary, activemq.xml-secondary
>
>
> I am not too much familiar with ActiveMQ terminology so pardon my incorrect
> use of terms. I have two ActiveMQ brokers that connect to each other to
> exchange messages between two nodes of our software for resilience and
> failover. One broker acts as primary and other acts as secondary. Secondary
> broker connects to primary based on connection details in activemq.xml of
> secondary (see [^activemq.xml-secondary] ). The activemq.xml for primary is
> also attached for reference (see [^activemq.xml-primary] ).
> Recently the primary broker was re-started due to a machine reboot. Usually
> this is not a problem as the secondary is able to re-establish connection
> with primary once primary is up again. However, in this particular instance
> the secondary was unable to re-establish connection. Looking at logs of
> secondary, I notice following.
> # When secondary (AON-CUAC01-AMS1) sensed the absence of primary
> (AON-CUAC01-LON1), it logged a java.net.SocketException. Usually we see a
> java.io.IOException in secondary logs in case primary gets un-available.
> {code}
> 2021-02-16 19:31:12,713 | WARN | Network connection between
> vm://AON-CUAC01-AMS1#60 and tcp://AON-CUAC01-LON1/10.250.242.29:61616@58496
> shutdown due to a remote error: java.net.SocketException: Software caused
> connection abort: socket write error |
> org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ
> InactivityMonitor Worker
> 2021-02-16 19:31:12,713 | DEBUG | The remote Exception was:
> java.net.SocketException: Software caused connection abort: socket write
> error | org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ
> InactivityMonitor Worker
> java.net.SocketException: Software caused connection abort: socket write error
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
> at
> org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:115)
> at java.io.DataOutputStream.flush(DataOutputStream.java:123)
> at
> org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:194)
> at
> org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:334)
> at
> org.apache.activemq.transport.AbstractInactivityMonitor.access$800(AbstractInactivityMonitor.java:41)
> at
> org.apache.activemq.transport.AbstractInactivityMonitor$4.run(AbstractInactivityMonitor.java:200)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> 2021-02-16 19:31:12,714 | DEBUG | stopping AON-CUAC01-AMS1 bridge to
> AON-CUAC01-LON1 | org.apache.activemq.network.DemandForwardingBridgeSupport |
> ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-90
> {code}
> # When primary is up again, and secondary makes a connection attempt, it
> fails and reports InvalidClientIDException. Log also says
> *Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1 already connected
> from vm://AON-CUAC01-AMS1#60* which indicates an existing connection is still
> there for primary.
> {code}
> 2021-02-16 19:31:26,817 | INFO | Establishing network connection from
> vm://AON-CUAC01-AMS1?async=false to tcp://AON-CUAC01-LON1:61616 |
> org.apache.activemq.network.DiscoveryNetworkConnector | Simple Discovery
> Agent-19
> 2021-02-16 19:31:26,817 | DEBUG | binding to broker: AON-CUAC01-AMS1 |
> org.apache.activemq.transport.vm.VMTransportFactory | Simple Discovery
> Agent-19
> 2021-02-16 19:31:26,817 | INFO | Get Peer Broker Infos: |
> org.apache.activemq.broker.util.LoggingBrokerPlugin | Simple Discovery
> Agent-19
> 2021-02-16 19:31:26,817 | INFO | Connector vm://AON-CUAC01-AMS1 started |
> org.apache.activemq.broker.TransportConnector | Simple Discovery Agent-19
> 2021-02-16 19:31:26,817 | DEBUG | Initialized TaskRunnerFactory[ActiveMQ
> VMTransport: vm://AON-CUAC01-AMS1#78] using ExecutorService: null |
> org.apache.activemq.thread.TaskRunnerFactory | Simple Discovery Agent-19
> 2021-02-16 19:31:26,818 | DEBUG | Initialized TaskRunnerFactory[ActiveMQ
> VMTransport: vm://AON-CUAC01-AMS1#79] using ExecutorService: null |
> org.apache.activemq.thread.TaskRunnerFactory | ActiveMQ
> BrokerService[AON-CUAC01-AMS1] Task-110
> 2021-02-16 19:31:26,826 | DEBUG | Sending: WireFormatInfo { version=11,
> properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false, CacheSize=1024,
> StackTraceEnabled=true, CacheEnabled=true, TightEncodingEnabled=true,
> MaxFrameSize=9223372036854775807, Host=AON-CUAC01-LON1,
> MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000},
> magic=[A,c,t,i,v,e,M,Q]} | org.apache.activemq.transport.WireFormatNegotiator
> | Simple Discovery Agent-19
> 2021-02-16 19:31:26,836 | DEBUG | Using min of local: WireFormatInfo {
> version=11, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false,
> CacheSize=1024, StackTraceEnabled=true, CacheEnabled=true,
> TightEncodingEnabled=true, MaxFrameSize=9223372036854775807,
> Host=AON-CUAC01-LON1, MaxInactivityDuration=30000,
> MaxInactivityDurationInitalDelay=10000}, magic=[A,c,t,i,v,e,M,Q]} and remote:
> WireFormatInfo { version=11, properties={TcpNoDelayEnabled=true,
> SizePrefixDisabled=false, CacheSize=1024, StackTraceEnabled=true,
> CacheEnabled=true, TightEncodingEnabled=true,
> MaxFrameSize=9223372036854775807, MaxInactivityDuration=30000,
> MaxInactivityDurationInitalDelay=10000}, magic=[A,c,t,i,v,e,M,Q]} |
> org.apache.activemq.transport.InactivityMonitor | ActiveMQ Transport:
> tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562
> 2021-02-16 19:31:26,836 | DEBUG | Received WireFormat: WireFormatInfo {
> version=11, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false,
> CacheSize=1024, StackTraceEnabled=true, CacheEnabled=true,
> TightEncodingEnabled=true, MaxFrameSize=9223372036854775807,
> MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000},
> magic=[A,c,t,i,v,e,M,Q]} | org.apache.activemq.transport.WireFormatNegotiator
> | ActiveMQ Transport: tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562
> 2021-02-16 19:31:26,836 | DEBUG |
> tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562 before negotiation:
> OpenWireFormat{version=11, cacheEnabled=false, stackTraceEnabled=false,
> tightEncodingEnabled=false, sizePrefixDisabled=false,
> maxFrameSize=9223372036854775807} |
> org.apache.activemq.transport.WireFormatNegotiator | ActiveMQ Transport:
> tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562
> 2021-02-16 19:31:26,836 | DEBUG |
> tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562 after negotiation:
> OpenWireFormat{version=11, cacheEnabled=true, stackTraceEnabled=true,
> tightEncodingEnabled=true, sizePrefixDisabled=false,
> maxFrameSize=9223372036854775807} |
> org.apache.activemq.transport.WireFormatNegotiator | ActiveMQ Transport:
> tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562
> 2021-02-16 19:31:26,836 | DEBUG | Ignoring remote command: WireFormatInfo {
> version=11, properties={TcpNoDelayEnabled=true, SizePrefixDisabled=false,
> CacheSize=1024, StackTraceEnabled=true, CacheEnabled=true,
> TightEncodingEnabled=true, MaxFrameSize=9223372036854775807,
> MaxInactivityDuration=30000, MaxInactivityDurationInitalDelay=10000},
> magic=[A,c,t,i,v,e,M,Q]} |
> org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ
> Transport: tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562
> 2021-02-16 19:31:26,837 | DEBUG | Setting up new connection id:
> AON-CUAC01-AMS1->AON-CUAC01-LON1-49164-1611665757700-28:1, address:
> vm://AON-CUAC01-AMS1#76, info: ConnectionInfo {commandId = 1,
> responseRequired = true, connectionId =
> AON-CUAC01-AMS1->AON-CUAC01-LON1-49164-1611665757700-28:1, clientId =
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1, clientIp = null,
> userName = amqsystem, password = *****, brokerPath = null,
> brokerMasterConnector = false, manageable = false, clientMaster = true,
> faultTolerant = false, failoverReconnect = false} |
> org.apache.activemq.broker.TransportConnection |
> triggerStartAsyncNetworkBridgeCreation:
> remoteBroker=tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562, localBroker=
> vm://AON-CUAC01-AMS1#76
> 2021-02-16 19:31:26,837 | INFO | Adding Connection: ConnectionInfo
> {commandId = 1, responseRequired = true, connectionId =
> AON-CUAC01-AMS1->AON-CUAC01-LON1-49164-1611665757700-28:1, clientId =
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1, clientIp =
> vm://AON-CUAC01-AMS1#76, userName = amqsystem, password = *****, brokerPath =
> null, brokerMasterConnector = false, manageable = false, clientMaster = true,
> faultTolerant = false, failoverReconnect = false} |
> org.apache.activemq.broker.util.LoggingBrokerPlugin |
> triggerStartAsyncNetworkBridgeCreation:
> remoteBroker=tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562, localBroker=
> vm://AON-CUAC01-AMS1#76
> 2021-02-16 19:31:26,838 | WARN | Failed to add Connection
> AON-CUAC01-AMS1->AON-CUAC01-LON1-49164-1611665757700-28:1 due to
> javax.jms.InvalidClientIDException: Broker: AON-CUAC01-AMS1 - Client:
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1 already connected from
> vm://AON-CUAC01-AMS1#60 | org.apache.activemq.broker.TransportConnection |
> triggerStartAsyncNetworkBridgeCreation:
> remoteBroker=tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562, localBroker=
> vm://AON-CUAC01-AMS1#76
> 2021-02-16 19:31:26,838 | DEBUG | Error occured while processing sync
> command: ConnectionInfo {commandId = 1, responseRequired = true, connectionId
> = AON-CUAC01-AMS1->AON-CUAC01-LON1-49164-1611665757700-28:1, clientId =
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1, clientIp =
> vm://AON-CUAC01-AMS1#76, userName = amqsystem, password = *****, brokerPath =
> null, brokerMasterConnector = false, manageable = false, clientMaster = true,
> faultTolerant = false, failoverReconnect = false}, exception:
> javax.jms.InvalidClientIDException: Broker: AON-CUAC01-AMS1 - Client:
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1 already connected from
> vm://AON-CUAC01-AMS1#60 |
> org.apache.activemq.broker.TransportConnection.Service |
> triggerStartAsyncNetworkBridgeCreation:
> remoteBroker=tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562, localBroker=
> vm://AON-CUAC01-AMS1#76
> javax.jms.InvalidClientIDException: Broker: AON-CUAC01-AMS1 - Client:
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1 already connected from
> vm://AON-CUAC01-AMS1#60
> at
> org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:255)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:116)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:103)
> at
> org.apache.activemq.broker.util.LoggingBrokerPlugin.addConnection(LoggingBrokerPlugin.java:178)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.security.SimpleAuthenticationBroker.addConnection(SimpleAuthenticationBroker.java:77)
> at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:103)
> at
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:817)
> at
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:338)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
> at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
> at
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
> at
> org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:162)
> at
> org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:154)
> at
> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:131)
> at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
> at
> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
> at
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport.startLocalBridge(DemandForwardingBridgeSupport.java:468)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport.doStartLocalAndRemoteBridges(DemandForwardingBridgeSupport.java:421)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport.access$500(DemandForwardingBridgeSupport.java:105)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport$5.run(DemandForwardingBridgeSupport.java:336)
> at java.lang.Thread.run(Thread.java:748)
> 2021-02-16 19:31:26,838 | INFO | Network connection between
> vm://AON-CUAC01-AMS1#76 and tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562
> shutdown due to a local error: javax.jms.InvalidClientIDException: Broker:
> AON-CUAC01-AMS1 - Client:
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1 already connected from
> vm://AON-CUAC01-AMS1#60 |
> org.apache.activemq.network.DemandForwardingBridgeSupport |
> triggerStartAsyncNetworkBridgeCreation:
> remoteBroker=tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562, localBroker=
> vm://AON-CUAC01-AMS1#76
> 2021-02-16 19:31:26,838 | DEBUG | The local Exception was:
> javax.jms.InvalidClientIDException: Broker: AON-CUAC01-AMS1 - Client:
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1 already connected from
> vm://AON-CUAC01-AMS1#60 |
> org.apache.activemq.network.DemandForwardingBridgeSupport |
> triggerStartAsyncNetworkBridgeCreation:
> remoteBroker=tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562, localBroker=
> vm://AON-CUAC01-AMS1#76
> javax.jms.InvalidClientIDException: Broker: AON-CUAC01-AMS1 - Client:
> Broker12Bridge_AON-CUAC01-LON1_inbound_AON-CUAC01-AMS1 already connected from
> vm://AON-CUAC01-AMS1#60
> at
> org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:255)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:116)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:103)
> at
> org.apache.activemq.broker.util.LoggingBrokerPlugin.addConnection(LoggingBrokerPlugin.java:178)
> at
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:98)
> at
> org.apache.activemq.security.SimpleAuthenticationBroker.addConnection(SimpleAuthenticationBroker.java:77)
> at
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:103)
> at
> org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:817)
> at
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:338)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
> at
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
> at
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
> at
> org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:162)
> at
> org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:154)
> at
> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:131)
> at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
> at
> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
> at
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport.startLocalBridge(DemandForwardingBridgeSupport.java:468)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport.doStartLocalAndRemoteBridges(DemandForwardingBridgeSupport.java:421)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport.access$500(DemandForwardingBridgeSupport.java:105)
> at
> org.apache.activemq.network.DemandForwardingBridgeSupport$5.run(DemandForwardingBridgeSupport.java:336)
> at java.lang.Thread.run(Thread.java:748)
> 2021-02-16 19:31:26,838 | DEBUG | stopping AON-CUAC01-AMS1 bridge to
> AON-CUAC01-LON1 | org.apache.activemq.network.DemandForwardingBridgeSupport |
> ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-112
> 2021-02-16 19:31:26,839 | DEBUG | Failure occurred soon after the discovery
> event was generated. It will be classified as a connection failure:
> [tcp://AON-CUAC01-LON1:61616, failed:true, connectionFailures:2] |
> org.apache.activemq.transport.discovery.simple.SimpleDiscoveryAgent | Simple
> Discovery Agent-20
> {code}
> # Secondary also starts showing following in the log for the existing
> connection.
> {code}
> 2021-02-16 19:31:33,723 | INFO | The connection to 'vm://AON-CUAC01-AMS1#60'
> is taking a long time to shutdown. |
> org.apache.activemq.broker.TransportConnection | ActiveMQ
> BrokerService[AON-CUAC01-AMS1] Task-90
> {code}
> Secondary continues to make connection attempts but keeps failing with
> InvalidClientIDException and the *taking a long time to shutdown* log also
> continues to appear.
> I have searched and I can see some issues that report similar errors but I am
> not sure if my scenario is same. This is partly because of my lack of
> ActiveMQ knowledge. I was wondering if this matches an existing reported
> issue that has been solved in later ActiveMQ versions?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)