[
https://issues.apache.org/jira/browse/QPID-402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rupert Smith resolved QPID-402.
-------------------------------
Resolution: Fixed
Checked in on M2 branch will merge to trunk.
FailoverException was made a checked exception.
All blocking operations that could throw it were wrapped in FailoverSupports. A
new type of failover support, noop, was added, because in some operation
occuring during the failover process itself, the retying failover support is
not appropriate.
Things do not fail-over cleanly in every case. In particular commit/rollback
cannot really be handled by the current protocol due to a lack of a
compensating strategy for the "Coordinated Attack" problem. Protocol 0.10 has
replay from a known state, which does allow compensation for this. So failover
during commit/rollback will always fail with a JMSException.
There are other failure cases too. The code for this in AMQSession needs to be
cleaned up a bit. I've added some comments to explain how.
> FailoverException should not be received by client unless explicitly
> FailoverEnabled.
> -------------------------------------------------------------------------------------
>
> Key: QPID-402
> URL: https://issues.apache.org/jira/browse/QPID-402
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: M1
> Reporter: Martin Ritchie
> Assignee: Rupert Smith
> Fix For: M2
>
>
> The java client does not correctly wrap all operations that can possibly
> cause a FailoverException.
> This results in the following poping out of the client code rather than
> waiting for failover to succeed or fail in the client code.
> org.apache.qpid.client.failover.FailoverException: Failing over about to start
> at
> org.apache.qpid.client.failover.FailoverHandler.run(FailoverHandler.java:76)
> at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.