You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2007/03/06 12:35:24 UTC

[jira] Created: (QPID-402) FailoverException should not be received by client unless explicitly FailoverEnabled.

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


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.


[jira] Resolved: (QPID-402) FailoverException should not be received by client unless explicitly FailoverEnabled.

Posted by "Rupert Smith (JIRA)" <qp...@incubator.apache.org>.
     [ 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.


[jira] Assigned: (QPID-402) FailoverException should not be received by client unless explicitly FailoverEnabled.

Posted by "Rupert Smith (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rupert Smith reassigned QPID-402:
---------------------------------

    Assignee: Rupert Smith

> 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
>         Assigned To: 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.


[jira] Updated: (QPID-402) FailoverException should not be received by client unless explicitly FailoverEnabled.

Posted by "Rupert Smith (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rupert Smith updated QPID-402:
------------------------------

    Fix Version/s:     (was: M3)
                   M2

Added to M2

> 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
>         Assigned To: 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.


[jira] Updated: (QPID-402) FailoverException should not be received by client unless explicitly FailoverEnabled.

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-402:
--------------------------------

    Fix Version/s: M3

> 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
>             Fix For: M3
>
>
> 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.