You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Shashank Krishnaswamy (Jira)" <ji...@apache.org> on 2021/04/30 21:50:00 UTC
[jira] [Created] (AMQ-8255) Wrong exception propagation on reaching
Broker Connection Limit
Shashank Krishnaswamy created AMQ-8255:
------------------------------------------
Summary: Wrong exception propagation on reaching Broker Connection Limit
Key: AMQ-8255
URL: https://issues.apache.org/jira/browse/AMQ-8255
Project: ActiveMQ
Issue Type: Bug
Components: Broker, JMS client
Affects Versions: 5.15.13
Environment: *Broker Details:*
* Version - 5.15.12
* Hosted on AWS (Amazon MQ)
* Instance type - mq.t3.micro with a limit of 100 connections
*Client Details:*
* Version - 5.15.13
* Using openwire/jms client
* running on linux **
Reporter: Shashank Krishnaswamy
Hi,
I am trying to add exception handling at activemq client side around connection setup. Based on my experiment I found that whenever Broker reaches the maximum connection limit, client receives 3 types of generic exceptions - _SSLHandshakeException, SocketException & TransportDisposedIOException._ These exceptions could occur if there is connectivity issue or [truststore/certificate related issue|http://activemq.2283324.n4.nabble.com/Javax-net-ssl-SSLHandshakeException-td4722408.html]. This has made exception handling impossible as it is not possible to know if the error is retry-able (recoverable) or not.
The ask here is to provide better signal from Broker (or client library) so that application can handle recoverable and non recoverable errors differently.
Suggestion options
# Let [connection|https://activemq.apache.org/maven/apidocs/org/apache/activemq/ActiveMQConnection.html#start%E2%80%93].start() throw [ExceededMaximumConnectionsException |https://activemq.apache.org/maven/apidocs/org/apache/activemq/transport/tcp/ExceededMaximumConnectionsException.html]
# Let client provide exception via listeners
** [Client internal exception listener|https://activemq.apache.org/maven/apidocs/org/apache/activemq/ClientInternalExceptionListener.html]
** [Exception listener|https://activemq.apache.org/maven/apidocs/org/apache/activemq/ActiveMQConnection.html#setExceptionListener-javax.jms.ExceptionListener-]
** [Transport Listener|https://activemq.apache.org/maven/apidocs/org/apache/activemq/transport/TransportListener.html]
# Or provide new API to get current number of client connections.
Thanks
--
This message was sent by Atlassian Jira
(v8.3.4#803005)