[ 
https://issues.apache.org/jira/browse/QPID-3349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Keith Wall updated QPID-3349:
-----------------------------

    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:

{code}
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)
{code}

0-8..0-9-1

{code}
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
{code}



  was:
Until QPID-3342, 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-3342 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:

{code}
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)
{code}

0-8..0-9-1

{code}
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
{code}




> 0-8/0-10 report failure to reconnect after failover with different exception
> ----------------------------------------------------------------------------
>
>                 Key: QPID-3349
>                 URL: https://issues.apache.org/jira/browse/QPID-3349
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client, Java Tests
>            Reporter: Keith Wall
>            Assignee: Keith Wall
>
> 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:
> {code}
> 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)
> {code}
> 0-8..0-9-1
> {code}
> 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
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to