[
https://issues.apache.org/jira/browse/QPID-951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aidan Skinner resolved QPID-951.
--------------------------------
Resolution: Fixed
Fix Version/s: M2.1
Assignee: Aidan Skinner
> 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
> Assignee: Aidan Skinner
> Fix For: M2.1
>
>
> 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.