You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2007/01/10 09:24:27 UTC

[jira] Created: (QPID-272) Connection Failover during Initial Connection will hang client

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.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (QPID-272) Connection closure during Initial Connection will hang client

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack updated QPID-272:
----------------------------------

    Fix Version/s:     (was: M4)

Descoping items not being worked on for M4 into Unknown Fix Version for now

> Connection closure 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
>            Assignee: 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.
> Updated title as this is not a failover problem. The problem is the attainState is not notify()ed when the connection is closed. 
> This can be seen as a failover problem because failover doesn't start but that is due to the above underlying problem.

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


[jira] Commented: (QPID-272) Connection Failover during Initial Connection will hang client

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471749 ] 

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

This should have been resolved. It need to verify that a runtime exception occuring during connection doesn't cause client to hang. 

> 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.


[jira] Updated: (QPID-272) Connection Failover during Initial Connection will hang client

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-272:
--------------------------------

    Assignee:     (was: Martin Ritchie)
    Priority: Critical  (was: Major)

> 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
>            Priority: Critical
>
> 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.


[jira] Updated: (QPID-272) Connection closure during Initial Connection will hang client

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-272:
--------------------------------

    Description: 
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.

Updated title as this is not a failover problem. The problem is the attainState is not notify()ed when the connection is closed. 

This can be seen as a failover problem because failover doesn't start but that is due to the above underlying problem.

  was: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.

        Summary: Connection closure during Initial Connection will hang client  (was: Connection Failover during Initial Connection will hang client)

> Connection closure 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
>            Priority: Critical
>
> 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.
> Updated title as this is not a failover problem. The problem is the attainState is not notify()ed when the connection is closed. 
> This can be seen as a failover problem because failover doesn't start but that is due to the above underlying problem.

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


[jira] Commented: (QPID-272) Connection Failover during Initial Connection will hang client

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ 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.


[jira] Updated: (QPID-272) Connection closure during Initial Connection will hang client

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aidan Skinner updated QPID-272:
-------------------------------

    Priority: Major  (was: Critical)

> Connection closure 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
>            Assignee: Martin Ritchie
>             Fix For: M3
>
>
> 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.
> Updated title as this is not a failover problem. The problem is the attainState is not notify()ed when the connection is closed. 
> This can be seen as a failover problem because failover doesn't start but that is due to the above underlying problem.

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


[jira] Updated: (QPID-272) Connection closure during Initial Connection will hang client

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-272:
--------------------------------

    Fix Version/s: M3

> Connection closure 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
>            Priority: Critical
>             Fix For: M3
>
>
> 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.
> Updated title as this is not a failover problem. The problem is the attainState is not notify()ed when the connection is closed. 
> This can be seen as a failover problem because failover doesn't start but that is due to the above underlying problem.

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