You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Nauman Hameed (Jira)" <ji...@apache.org> on 2021/02/22 13:53:00 UTC

[jira] [Commented] (AMQ-6561) Broker does not close connection for all connection attempt errors

    [ https://issues.apache.org/jira/browse/AMQ-6561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17288389#comment-17288389 ] 

Nauman Hameed commented on AMQ-6561:
------------------------------------

 I am facing a similar issue using ActiveMQ 5.13.2. I have 2 ActiveMQ nodes where one acts as publisher and other is subscriber. Subscriber is attempting to make a connection with publisher after publisher re-start but it is failing with error mentioned in this case.

{code}
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
2021-02-16 19:31:26,839 | DEBUG | Waiting 4000 ms before attempting to reconnect. | org.apache.activemq.transport.discovery.simple.SimpleDiscoveryAgent | Simple Discovery Agent-20
2021-02-16 19:31:26,839 | DEBUG | Stopping connection: vm://AON-CUAC01-AMS1#76 | org.apache.activemq.broker.TransportConnection | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-114
2021-02-16 19:31:26,839 | DEBUG | Stopped transport: vm://AON-CUAC01-AMS1#76 | org.apache.activemq.broker.TransportConnection | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-114
2021-02-16 19:31:26,839 | DEBUG | Stopping transport tcp://AON-CUAC01-LON1/10.250.242.29:61616@58562 | org.apache.activemq.transport.tcp.TcpTransport | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-112
2021-02-16 19:31:26,840 | DEBUG | Connection Stopped: vm://AON-CUAC01-AMS1#76 | org.apache.activemq.broker.TransportConnection | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-114
2021-02-16 19:31:26,840 | DEBUG | Initialized TaskRunnerFactory[ActiveMQ Task] using ExecutorService: null | org.apache.activemq.thread.TaskRunnerFactory | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-112
2021-02-16 19:31:26,840 | DEBUG | Closed socket Socket[addr=AON-CUAC01-LON1/10.250.242.29,port=61616,localport=58562] | org.apache.activemq.transport.tcp.TcpTransport | ActiveMQ Task-1
2021-02-16 19:31:26,840 | DEBUG | Shutting down VM connectors for broker: AON-CUAC01-AMS1 | org.apache.activemq.transport.vm.VMTransportFactory | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-112
2021-02-16 19:31:26,841 | DEBUG | Stopping connection: vm://AON-CUAC01-AMS1#78 | org.apache.activemq.broker.TransportConnection | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-115
2021-02-16 19:31:26,841 | DEBUG | Stopped transport: vm://AON-CUAC01-AMS1#78 | org.apache.activemq.broker.TransportConnection | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-115
2021-02-16 19:31:26,841 | DEBUG | Connection Stopped: vm://AON-CUAC01-AMS1#78 | org.apache.activemq.broker.TransportConnection | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-115
2021-02-16 19:31:26,841 | INFO  | Connector vm://AON-CUAC01-AMS1 stopped | org.apache.activemq.broker.TransportConnector | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-112
2021-02-16 19:31:26,841 | INFO  | AON-CUAC01-AMS1 bridge to AON-CUAC01-LON1 stopped | org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ BrokerService[AON-CUAC01-AMS1] Task-112
{code}

I am not sure if this is exactly same issue as yours. Can you please comment?

> Broker does not close connection for all connection attempt errors
> ------------------------------------------------------------------
>
>                 Key: AMQ-6561
>                 URL: https://issues.apache.org/jira/browse/AMQ-6561
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.14.3
>            Reporter: Christopher L. Shannon
>            Assignee: Christopher L. Shannon
>            Priority: Major
>             Fix For: 5.15.0, 5.14.4
>
>
> When a client connects to the broker the connection gets added inside the processAddConnection method in TransportConnection.  Right now if there is an exception the socket is only shutdown if the type of exception is SecurityException.  However the connection should really be closed if any error occurs when trying to add the connection.  
> For example if an InvalidClientIDException occurs then the connection is no longer tracked by the broker but the socket stays open until the client actually closes it on their end. This should be fixed so that the error terminates the socket connection since the connection attempt failed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)