[jboss-jira] [JBoss JIRA] Created: (JBMESSAGING-1515) Message bridge fails with QualityOfServiceMode set to "2"

Justin Bertram (JIRA) jira-events at lists.jboss.org
Tue Feb 24 17:53:44 EST 2009


Message bridge fails with QualityOfServiceMode set to "2"
---------------------------------------------------------

                 Key: JBMESSAGING-1515
                 URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1515
             Project: JBoss Messaging
          Issue Type: Bug
    Affects Versions:  1.4.0.SP3.CP04
            Reporter: Justin Bertram
            Assignee: Tim Fox


The JBoss Messaging bridge fails when the "QualityOfServiceMode" attribute is set to 2 (QOS_ONCE_AND_ONLY_ONCE).

I unzipped 2 fresh copies of JBoss EAP 4.3 CP03 (which use JBM 1.4.0.SP3.CP04).  I'll call these copies "Node A" and "Node B."  I deployed the attached bridge-service.xml to Node A and started Node B with:

  ./run.sh -c default -b 127.0.0.2

I then started Node A with:

  ./run.sh -c default -b 127.0.0.1

Then I sent 1000 messages using the attached MessageSender.java to Node A.  These messages should have been bridged to Node B, but instead I received:

16:46:09,120 ERROR [ExceptionUtil] ConnectionEndpoint[c-nxnz5lrf-1-h67z5lrf-b24scy-100j3] sendTransaction [v-0gi26lrf-1-h67z5lrf-b24scy-100j3]
javax.jms.IllegalStateException: Cannot find session with id 7-9xoz5lrf-1-z12z5lrf-tb5p9r-100j3
	at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.processTransaction(ServerConnectionEndpoint.java:835)
	at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:489)
	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$sendTransaction$aop(ConnectionAdvised.java:101)
	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeNext(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
	at org.jboss.jms.server.container.SecurityAspect.handleSendTransaction(SecurityAspect.java:195)
	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 org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:121)
	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeNext(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
	at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeNext(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.sendTransaction(ConnectionAdvised.java)
	at org.jboss.jms.wireformat.ConnectionSendTransactionRequest.serverInvoke(ConnectionSendTransactionRequest.java:82)
	at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)
	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:866)
	at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:101)
	at org.jboss.remoting.Client.invoke(Client.java:1634)
	at org.jboss.remoting.Client.invoke(Client.java:548)
	at org.jboss.remoting.Client.invoke(Client.java:536)
	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
	at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
	at org.jboss.jms.client.delegate.ClientConnectionDelegate.org$jboss$jms$client$delegate$ClientConnectionDelegate$sendTransaction$aop(ClientConnectionDelegate.java:221)
	at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N3268650789275322226.invokeNext(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)
	at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
	at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N3268650789275322226.invokeNext(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)
	at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
	at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N3268650789275322226.invokeNext(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)
	at org.jboss.jms.client.delegate.ClientConnectionDelegate.sendTransaction(ClientConnectionDelegate.java)
	at org.jboss.jms.tx.ResourceManager.sendTransactionXA(ResourceManager.java:662)
	at org.jboss.jms.tx.ResourceManager.commit(ResourceManager.java:367)
	at org.jboss.jms.tx.MessagingXAResource.commit(MessagingXAResource.java:254)
	at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelOnePhaseCommit(XAResourceRecord.java:651)
	at com.arjuna.ats.arjuna.coordinator.BasicAction.onePhaseCommit(BasicAction.java:2619)
	at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1779)
	at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:88)
	at com.arjuna.ats.arjuna.AtomicAction.end(AtomicAction.java:216)
	at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commit(TransactionImple.java:238)
	at org.jboss.jms.server.bridge.Bridge.sendBatchXA(Bridge.java:1254)
	at org.jboss.jms.server.bridge.Bridge.sendBatch(Bridge.java:1314)
	at org.jboss.jms.server.bridge.Bridge.access$1900(Bridge.java:66)
	at org.jboss.jms.server.bridge.Bridge$SourceListener.onMessage(Bridge.java:1637)
	at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:229)
	at org.jboss.jms.client.container.ClientConsumer$ListenerRunner.run(ClientConsumer.java:1043)
	at org.jboss.messaging.util.OrderedExecutorFactory$ChildExecutor.run(OrderedExecutorFactory.java:134)
	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)
16:46:09,129 WARN  [Bridge] jboss.jms:name=TestBridge,service=Bridge Failed to send + acknowledge batch, closing JMS objects
javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state
	at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commit(TransactionImple.java:253)
	at org.jboss.jms.server.bridge.Bridge.sendBatchXA(Bridge.java:1254)
	at org.jboss.jms.server.bridge.Bridge.sendBatch(Bridge.java:1314)
	at org.jboss.jms.server.bridge.Bridge.access$1900(Bridge.java:66)
	at org.jboss.jms.server.bridge.Bridge$SourceListener.onMessage(Bridge.java:1637)
	at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:229)
	at org.jboss.jms.client.container.ClientConsumer$ListenerRunner.run(ClientConsumer.java:1043)
	at org.jboss.messaging.util.OrderedExecutorFactory$ChildExecutor.run(OrderedExecutorFactory.java:134)
	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)
16:46:09,417 ERROR [ClosedInterceptor] ClosedInterceptor.ClientSessionDelegate[l-vhoz5lrf-1-h67z5lrf-b24scy-100j3]: method getXAResource() did not go through, the interceptor is CLOSED
16:46:09,417 WARN  [Bridge] jboss.jms:name=TestBridge,service=Bridge Will retry after a pause of 5000 ms

I have attached the full server.log.

Using  "QualityOfServiceMode" 0 or 1 makes the exceptions go away, but of course reduces the quality of service.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list