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.

Reply via email to