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

Martin Ritchie commented on QPID-272:
-------------------------------------

An error during connection is not picked up. A Connection Exception on 
ConnectionStartOk will be correctly recevied by client as seen here:


org.apache.qpid.AMQConnectionClosedException: Error: Unable to create SASL 
Server [error code 506: resource error] [error code 506: resource error]
        at 
org.apache.qpid.client.handler.ConnectionCloseMethodHandler.methodReceived(ConnectionCloseMethodHandler.java:87)
        at 
org.apache.qpid.client.state.AMQStateManager.methodReceived(AMQStateManager.java:181)
        at 
org.apache.qpid.client.protocol.AMQProtocolHandler.messageReceived(AMQProtocolHandler.java:318)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(AbstractIoFilterChain.java:189)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:502)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:52)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:777)
        at 
org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
        at 
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:185)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:502)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:52)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:777)
        at 
org.apache.qpid.pool.PoolingFilter.messageReceived(PoolingFilter.java:145)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:502)
        at 
org.apache.mina.common.support.AbstractIoFilterChain.access$1000(AbstractIoFilterChain.java:52)
        at 
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:777)
        at org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:53)
        at org.apache.qpid.pool.Job.processAll(Job.java:80)
        at org.apache.qpid.pool.Job.run(Job.java:102)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)



However the main thread is still stuck trying to attainState and waits for 
timeout to occur.

"main" prio=6 tid=0x0003bdb8 nid=0xf30 in Object.wait() [0x0007f000..0x0007fc3c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x030c5f00> (a java.lang.Object)
        at 
org.apache.qpid.client.state.AMQStateManager.attainState(AMQStateManager.java:237)
        - locked <0x030c5f00> (a java.lang.Object)
        at 
org.apache.qpid.client.protocol.AMQProtocolHandler.attainState(AMQProtocolHandler.java:407)
        at 
org.apache.qpid.client.AMQConnection.makeBrokerConnection(AMQConnection.java:382)
        at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:289)
        at org.apache.qpid.client.AMQConnection.<init>(AMQConnection.java:166)
        at 
org.apache.qpid.test.unit.basic.LargeMessageTest.setUp(LargeMessageTest.java:56)
        at junit.framework.TestCase.runBare(TestCase.java:125)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at junit.textui.TestRunner.doRun(TestRunner.java:116)
        at 
com.intellij.rt.execution.junit.IdeaTestRunner.doRun(IdeaTestRunner.java:69)
        at junit.textui.TestRunner.doRun(TestRunner.java:109)
        at 
com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs(IdeaTestRunner.java:24)
        at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:118)
        at 
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


> Connection Failover during Initial Connection will hang client
> --------------------------------------------------------------
>
>                 Key: QPID-272
>                 URL: https://issues.apache.org/jira/browse/QPID-272
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>            Reporter: Martin Ritchie
>         Assigned To: Martin Ritchie
>
> If the client code fails with a non AMQException such as a RuntimeException 
> then this will cause Failover which in turn may cause an internal 
> FailoverException("Failing over starting") to be thrown to external client 
> code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to