[ 
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.

Reply via email to