Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3349

0-8/0-10 report failure to reconnect after failover with different exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • Java Tests, JMS AMQP 0-x

    Description

      Until QPID-3343, FailoverMethodTest hardcoded use of a same-VM 0-8 broker to perform its testing regardless of the test profile actually in use. This means that even when run with the (old) java.0.10 profile, the test in fact executed the 0-8 code path. This has masked a difference in behaviour between 0-8,0-9, 0-9-1 and 0-10 with regard to the exception used when failover fails to form a new connection:

      0-10 uses a org.apache.qpid.transport.ConnectionException whereas 0-8..0-9-1 uses org.apache.qpid.AMQDisconnectedException.

      FailoverMethodTest assumes that AMQDisconnectedException, so now QPID-3343 has removed the hardcoded 0-8 broker, the test fails on the 0-10 java profiles and cpp. The test has been temporarily disabled in Java010Excludes and CPPExcludes.

      Whilst it would be straightforward to fix the FailoverMethodTest to allow for the different behaviour, it is not clear that this is the best solution. Perhaps it would be better if the same exception were used (if so, which?). Any thoughts??

      0-10 stack trace:

      javax.jms.JMSException: connection aborted
              at org.apache.qpid.client.AMQConnectionDelegate_0_10.closed(AMQConnectionDelegate_0_10.java:303)
              at org.apache.qpid.transport.Connection.closed(Connection.java:577)
              at org.apache.qpid.transport.network.Assembler.closed(Assembler.java:110)
              at org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:202)
              at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:162)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.qpid.transport.ConnectionException: connection aborted
              at org.apache.qpid.transport.Connection.closed(Connection.java:550)
      

      0-8..0-9-1

      org.apache.qpid.AMQDisconnectedException: Server closed connection and no failover was successful
              at org.apache.qpid.client.AMQConnection.exceptionReceived(AMQConnection.java:1246)
              at org.apache.qpid.client.failover.FailoverHandler.run(FailoverHandler.java:187)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.qpid.AMQDisconnectedException: Server closed connection and no failover was successful
              ... 2 more
      

      Attachments

        Activity

          People

            kwall Keith Wall
            kwall Keith Wall
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: