qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Ritchie (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Created: (QPID-700) Verify that the client code does not throw FailoverExceptions out of the API
Date Wed, 12 Dec 2007 11:54:43 GMT
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.


Mime
View raw message