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

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Java Tests, JMS AMQP 0-x
    • Labels:

      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

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

              Dates

              • Created:
                Updated:
                Resolved: