[ https://issues.apache.org/jira/browse/QPID-3234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13036362#comment-13036362 ]
Danushka Menikkumbura commented on QPID-3234: --------------------------------------------- Rajith, I think the issue here is how we decide if an error is "hard". Can we have a set of severity levels that helps figure out how hard the error is? Thanks, Danushka > Exception handling logic is incorrect in AMQConnection.java > ----------------------------------------------------------- > > Key: QPID-3234 > URL: https://issues.apache.org/jira/browse/QPID-3234 > Project: Qpid > Issue Type: Bug > Reporter: Rajith Attapattu > > IMO there are two issues here. > 1. The exception listener gets notified of session level exceptions. > 2. A session level exception causes the connection to be closed along with > the other sessions. > 1. We shouldn't notify the connection's exception listener when there is a > session level error. The JMS API doc clearly states, > "If a JMS provider detects a serious problem with a Connection object, it > informs the Connection object's ExceptionListener, if one has been > registered. It does this by calling the listener's onException method, > passing it a JMSException argument describing the problem. " > So certainly execution exceptions which only invalidates the session should > not be notified via the exception listener. > 2. Going further if one looks at the AMQConnection.java exceptionReceived() > method, > It seems that an execution exception can in fact close the underlying > connection (and the rest of the sessions) due to the following piece of logic. > if (hardError(cause)) > { > closer = (!_closed.getAndSet(true)) || closer; > { _logger.info("Closing AMQConnection due to :" + cause); } > } > Digging further for any AMQException hardError method will return true. > Therefore we need to rework that piece of code. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org