You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2012/11/03 16:35:12 UTC

[jira] [Comment Edited] (QPID-4344) FailoverTest.testP2PFailover 0-9 - failover not begun by client

    [ https://issues.apache.org/jira/browse/QPID-4344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490038#comment-13490038 ] 

Robbie Gemmell edited comment on QPID-4344 at 11/3/12 3:33 PM:
---------------------------------------------------------------

I have applied the patch, but with some further changes. Looking over the patch I came to think that although it would indeed make the test pass it may not be the solution and could potentially lead to the client failing over twice (first due to the new TransportException == connectionProblem check, then potentially again when the IoReciever running that check then completed its run and called closed()).

Considering the diagram you atached and looking at what we changed on QPID-4289 that could have caused this issue it appears that we removed use of a catch block that would have prevented the SenderException propagating as far as it now does, and that seems to be the real issue so I have put a similar catch block in place in CCMH to achieve the same effect. In doing that I realsied that the AMQPH.exception() method was susceptable to similar exceptions being thrown from its attempt to close the network connection so I also added a catch block there.

Since the changes in QPID-4289 appear to be the cause of this issue and those changes are within the current release cycle I am closing this JIRA out and we can continue things over on the reopened QPID-4289.
                
      was (Author: gemmellr):
    I have applied the patch, but with some further changes. Looking over the patch I came o think that although it would indeed make the test pass it may not be the solution and could potentially lead to the client failing over twice (first due to the new TransportException == connectionProblem check, then potentially again when the IoReciever running that check then completed its run and called close()).

Considering the diagram you atached and looking at what we changed on QPID-4289 that could have caused this issue it appears that we removed use of a catch block that would have prevented the SenderException propagating as far as it now does, and that seems to be the real issue so I have put a similar catch block in place in CCMH to achieve the same effect. In doing that I realsied that the AMQPH.exception() method was susceptable to similar exceptions being thrown from its attempt to close the network connection so I also added a catch block there.

Since the changes in QPID-4289 appear to be the cause of this issue and those changes are from within the current dev cycle I am closing this JIRA out and we can continue things over on the reopened QPID-4289.
                  
> FailoverTest.testP2PFailover 0-9 - failover not begun by client
> ---------------------------------------------------------------
>
>                 Key: QPID-4344
>                 URL: https://issues.apache.org/jira/browse/QPID-4344
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.19
>            Reporter: Keith Wall
>            Assignee: Robbie Gemmell
>         Attachments: 0001-QPID-4344-now-including-TransportException-in-the-se.patch, QPID-4344-failover-race-condition.jpg, TEST-org.apache.qpid.test.client.failover.FailoverTest.testP2PFailover.out, TEST-org.apache.qpid.test.client.failover.FailoverTest.testP2PFailover.out
>
>
> We saw a failure on FailoverTest.testP2PFailover test last night a Jenkins CI instance.
> {noformat}
> Error Message
> failover did not complete
> Stacktrace
> junit.framework.AssertionFailedError: failover did not complete
> 	at org.apache.qpid.test.client.failover.FailoverTest.causeFailure(FailoverTest.java:252)
> 	at org.apache.qpid.test.client.failover.FailoverTest.runP2PFailover(FailoverTest.java:227)
> 	at org.apache.qpid.test.client.failover.FailoverTest.testP2PFailover(FailoverTest.java:190)
> 	at org.apache.qpid.test.client.failover.FailoverTest.testP2PFailover(FailoverTest.java:155)
> 	at org.apache.qpid.test.utils.QpidBrokerTestCase.runBare(QpidBrokerTestCase.java:242)
> 	at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:137)
> {noformat}
> Log attached. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org