You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Charles Woerner (JIRA)" <qp...@incubator.apache.org> on 2010/02/25 01:07:28 UTC

[jira] Issue Comment Edited: (QPID-1818) Java Client [0-10] does not correctly restore transacted sessions after failover.

    [ https://issues.apache.org/jira/browse/QPID-1818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12838104#action_12838104 ] 

Charles Woerner edited comment on QPID-1818 at 2/25/10 12:07 AM:
-----------------------------------------------------------------

Hello,

We've run up against this bug trying to enable transactions for a session publishing to a local store-and-forward queue.  The client application is written in Java running inside tomcat 6 using the JDK 6.14.  Is there any known workaround for this and/or is there a patched version we might consider trying out?  If neither, I'd be happy to take a look and gather some more information if someone would kindly point me to some documentations on contributing.  Thanks in advance.

We're running the MRG version of QPID (the C++ broker).  Here are the relevant rpm's:

qpidc-0.5.752581-34.i386.rpm
qpidc-devel-0.5.752581-34.i386.rpm
qpidc-perftest-0.5.752581-34.i386.rpm
qpidc-rdma-0.5.752581-34.i386.rpm
qpidc-ssl-0.5.752581-34.i386.rpm
qpidd-0.5.752581-34.i386.rpm
qpidd-acl-0.5.752581-34.i386.rpm
qpidd-cluster-0.5.752581-34.i386.rpm
qpidd-devel-0.5.752581-34.i386.rpm
qpidd-ssl-0.5.752581-34.i386.rpm
rhm-0.5.3206-27.i386.rpm

Below is a stacktrace representing our reproduction of the bug:

org.apache.qpid.transport.SessionException: ch=125 id=0 ExecutionException(errorCode=COMMAND_INVALID, commandId=128, classCode=5, commandCode=2, fieldIndex=0, description=command-invalid: Session has not been selected for use with transactions (qpid/broker/SemanticState.cpp:118), errorInfo={})	at org.apache.qpid.transport.Session.invoke(Session.java:543)	at org.apache.qpid.transport.SessionInvoker.messageRelease(SessionInvoker.java:108)	at org.apache.qpid.client.AMQSession_0_10.releaseForRollback(AMQSession_0_10.java:403)	at org.apache.qpid.client.AMQSession.rollback(AMQSession.java:1550)	

      was (Author: cwoerner):
    Hello,

We've run up against this bug trying to enable transactions for a session publishing to a local store-and-forward queue.  The client application is written in Java running inside tomcat 6 using the JDK 6.14.  Is there any known workaround for this and/or is there a patched version we might consider trying out?  If neither, I'd be happy to take a look and gather some more information if someone would kindly point me to some documentations on contributing.  Thanks in advance.

We're running the MRG version of QPID (the C++ broker).  Here are the relevant rpm's:

qpidc-0.5.752581-34.i386.rpm
qpidc-devel-0.5.752581-34.i386.rpm
qpidc-perftest-0.5.752581-34.i386.rpm
qpidc-rdma-0.5.752581-34.i386.rpm
qpidc-ssl-0.5.752581-34.i386.rpm
qpidd-0.5.752581-34.i386.rpm
qpidd-acl-0.5.752581-34.i386.rpm
qpidd-cluster-0.5.752581-34.i386.rpm
qpidd-devel-0.5.752581-34.i386.rpm
qpidd-ssl-0.5.752581-34.i386.rpm

Below is a stacktrace representing our reproduction of the bug:

org.apache.qpid.transport.SessionException: ch=125 id=0 ExecutionException(errorCode=COMMAND_INVALID, commandId=128, classCode=5, commandCode=2, fieldIndex=0, description=command-invalid: Session has not been selected for use with transactions (qpid/broker/SemanticState.cpp:118), errorInfo={})	at org.apache.qpid.transport.Session.invoke(Session.java:543)	at org.apache.qpid.transport.SessionInvoker.messageRelease(SessionInvoker.java:108)	at org.apache.qpid.client.AMQSession_0_10.releaseForRollback(AMQSession_0_10.java:403)	at org.apache.qpid.client.AMQSession.rollback(AMQSession.java:1550)	
  
> Java Client [0-10] does not correctly restore transacted sessions after failover.
> ---------------------------------------------------------------------------------
>
>                 Key: QPID-1818
>                 URL: https://issues.apache.org/jira/browse/QPID-1818
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>            Reporter: Martin Ritchie
>
> The new NoLocalAfterRecovery test should be ok to run against the C++ broker however after failover the transport session is no longer transacted.
> 	org.apache.qpid.transport.SessionException: ch=1 id=0 ExecutionException(errorCode=COMMAND_INVALID, commandId=60, classCode=5, commandCode=3, fieldIndex=0, description=command-invalid: Session has not been selected for use with transactions (qpid/broker/SemanticState.cpp:132), errorInfo={})  
> 	at org.apache.qpid.transport.Session.sync(Session.java:701)  
> 	at org.apache.qpid.transport.Session.sync(Session.java:674)  
> 	at org.apache.qpid.client.AMQSession_0_10.sendRollback(AMQSession_0_10.java:687)  
> 	at org.apache.qpid.client.AMQSession.rollback(AMQSession.java:1553)  
> 	at org.apache.qpid.server.persistent.NoLocalAfterRecoveryTest.test(NoLocalAfterRecoveryTest.java:153)  
> 	at org.apache.qpid.test.utils.QpidTestCase.runBare(QpidTestCase.java:201)  
> 	at org.apache.qpid.test.utils.QpidTestCase.run(QpidTestCase.java:246)

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


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org