Verify that the client code does not throw FailoverExceptions out of the API
----------------------------------------------------------------------------
Key: QPID-700
URL: https://issues.apache.org/jira/browse/QPID-700
Project: Qpid
Issue Type: Task
Reporter: Martin Ritchie
The following methods use syncWrite() but are not wrapped in a FailoverSupport:
AMQSession's commit(), rollback(), close()
AMQConnection.close() via AMQProtocolHandler.closeConnection()
BasicMessageConsumer.close()
These need to be protected/wrapped in a FailoverSupport. Note that commit() and
rollback() are not currently protected by a lock on failoverMutex either.
Perhaps StateManager.attainState is the only other method that blocks for "a
response frame". In this case a series of response frames that result in the
state changing. The only use of attainState is in
AMQConnection.makeBrokerConnection. It would appear to need to be wrapped in a
FailoverSupport as otherwise the FailoverException will escape. Since this is
failing-over during connection some care may be required. Note that the
makeBrokerConnection is used at 3 different sites.
In addition sendAcknowledgement appear to need to lock the failoverMutex.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.