[ 
https://issues.apache.org/jira/browse/QPID-951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Ritchie updated QPID-951:
--------------------------------

    Component/s: Dot Net Client

> Qpid .Net Failover in does not work.
> ------------------------------------
>
>                 Key: QPID-951
>                 URL: https://issues.apache.org/jira/browse/QPID-951
>             Project: Qpid
>          Issue Type: Bug
>          Components: Dot Net Client
>    Affects Versions: M2, M2.1
>            Reporter: Martin Ritchie
>
> Summary:
> There seems to be a problem with failover in .NET clients.
> 16:53:13,227 INFO [5016] : AMQConnection : Stopping old heartbeat thread
> 16:53:13,227 INFO [5016] : AMQProtocolListener : Session closed called with 
> failover state currently NOT_STARTED
> 16:53:13,227 INFO [5016] : FailoverPolicy : Failover method timeout
> 16:53:13,227 DEBUG [5016] : FailoverPolicy : All failover methods exhausted
> 16:53:13,227 INFO [5016] : AMQProtocolListener : Failover not allowed by 
> policy.
> 16:53:13,227 INFO [5016] : AMQProtocolListener : sessionClose() not allowed 
> to failover
> Steps to Reproduce:
> Running the existing FailoverTest.cs will not highlight this problem unless 
> you wait > 4minutes from the initial Connection to the point where the 
> failover occurs.  
> To reproduce run test and wait 5minutes before killing first broker
> Expected Results:
> Failover should succeed
> Actual Results:
> Failover is shown to timeout
> Defect Identification:
> The _failoverPolicy.failoverAllowed() method has a side-effect of recording 
> time between calls to ensure failover can be stopped.
> This is stopped by called _failoverPolicy.connectionAttained()
> However the failoverAllowed() method is being called after 
> connectionAttained() which is a change to the Java version and so not a 
> direct port of the failover handling.
> The calls to failoverAllowed() after the while loop should be removed and the 
> use of the _connected boolean utilised instead. Comparison to the Java client 
> should be made.
> Proposed Changes:
> Replace calls to failoverAllowed() with _connected much like how the Java 
> client has been changed.
> Alternative is to remove the 4 minute failover timeout as has been done on 
> the Java : QPID-786
> Test Strategy:
> Update the FailoverTest.cs to run with a test that runs for 5minutes.

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