Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
None
-
None
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