-
Bug
-
Resolution: Obsolete
-
Major
-
7.2.0.CD12, 7.2.0.CD14
-
None
There is thrown exception when stateful session bean is trying to send message to topic in container managed transaction. Message send fails with:
[javatest.batch] ESC[0mESC[0m14:12:26,559 INFO [stdout] (Thread-53) 04-19-2018 14:12:26: Call bean - have it send mdb a message; [javatest.batch] ESC[0mESC[0m14:12:26,682 INFO [stdout] (Thread-56) 04-19-2018 14:12:26: SVR-ERROR: Unexpected exception in sendBytesMessageToTopic [javatest.batch] ESC[0mESC[0m14:12:26,684 INFO [stdout] (Thread-56) 04-19-2018 14:12:26: SVR-ERROR: com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2007: Failed to send a message to destination 'JMSEEMDBMDB RECMDBTOPIC'. [javatest.batch] ESC[0mESC[0m14:12:26,691 INFO [stdout] (Thread-56) JMS attempted to perform an MQPUT or MQPUT1; however IBM MQ reported an error. [javatest.batch] ESC[0mESC[0m14:12:26,692 INFO [stdout] (Thread-56) Use the linked exception to determine the cause of this error. [javatest.batch] ESC[0mESC[0m14:12:26,697 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:595) [javatest.batch] ESC[0mESC[0m14:12:26,697 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:215) [javatest.batch] ESC[0mESC[0m14:12:26,701 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.internal.WMQMessageProducer.checkJmqiCallSuccess(WMQMessageProducer.java:1248) [javatest.batch] ESC[0mESC[0m14:12:26,701 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.internal.WMQMessageProducer.checkJmqiCallSuccess(WMQMessageProducer.java:1205) [javatest.batch] ESC[0mESC[0m14:12:26,702 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.internal.WMQMessageProducer.access$800(WMQMessageProducer.java:75) [javatest.batch] ESC[0mESC[0m14:12:26,702 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.internal.WMQMessageProducer$SpiIdentifiedProducerShadow.sendInternal(WMQMessageProducer.java:868) [javatest.batch] ESC[0mESC[0m14:12:26,702 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.internal.WMQMessageProducer$ProducerShadow.send(WMQMessageProducer.java:548) [javatest.batch] ESC[0mESC[0m14:12:26,702 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.internal.WMQMessageProducer.send(WMQMessageProducer.java:1385) [javatest.batch] ESC[0mESC[0m14:12:26,703 INFO [stdout] (Thread-56) at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.sendMessage(JmsMessageProducerImpl.java:851) [javatest.batch] ESC[0mESC[0m14:12:26,703 INFO [stdout] (Thread-56) at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.synchronousSendInternal(JmsMessageProducerImpl.java:2051) [javatest.batch] ESC[0mESC[0m14:12:26,703 INFO [stdout] (Thread-56) at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.sendInternal(JmsMessageProducerImpl.java:1989) [javatest.batch] ESC[0mESC[0m14:12:26,703 INFO [stdout] (Thread-56) at com.ibm.msg.client.jms.internal.JmsMessageProducerImpl.send(JmsMessageProducerImpl.java:1482) [javatest.batch] ESC[0mESC[0m14:12:26,704 INFO [stdout] (Thread-56) at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:293) [javatest.batch] ESC[0mESC[0m14:12:26,704 INFO [stdout] (Thread-56) at com.ibm.mq.connector.outbound.TopicPublisherWrapper.publish(TopicPublisherWrapper.java:137) [javatest.batch] ESC[0mESC[0m14:12:26,704 INFO [stdout] (Thread-56) at com.sun.ts.tests.jms.ee.mdb.mdb_rec.MDB_AR_TestEJB.sendBytesMessageToTopic(MDB_AR_TestEJB.java:434) [javatest.batch] ESC[0mESC[0m14:12:26,704 INFO [stdout] (Thread-56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [javatest.batch] ESC[0mESC[0m14:12:26,704 INFO [stdout] (Thread-56) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [javatest.batch] ESC[0mESC[0m14:12:26,705 INFO [stdout] (Thread-56) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [javatest.batch] ESC[0mESC[0m14:12:26,705 INFO [stdout] (Thread-56) at java.lang.reflect.Method.invoke(Method.java:498) [javatest.batch] ESC[0mESC[0m14:12:26,705 INFO [stdout] (Thread-56) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52) [javatest.batch] ESC[0mESC[0m14:12:26,705 INFO [stdout] (Thread-56) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422) [javatest.batch] ESC[0mESC[0m14:12:26,706 INFO [stdout] (Thread-56) at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509) [javatest.batch] ESC[0mESC[0m14:12:26,706 INFO [stdout] (Thread-56) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:78) [javatest.batch] ESC[0mESC[0m14:12:26,706 INFO [stdout] (Thread-56) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:88) [javatest.batch] ESC[0mESC[0m14:12:26,706 INFO [stdout] (Thread-56) at org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:101) [javatest.batch] ESC[0mESC[0m14:12:26,707 INFO [stdout] (Thread-56) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63) [javatest.batch] ESC[0mESC[0m14:12:26,707 INFO [stdout] (Thread-56) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422) [javatest.batch] ESC[0mESC[0m14:12:26,707 INFO [stdout] (Thread-56) at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43) [javatest.batch] ESC[0mESC[0m14:12:26,708 INFO [stdout] (Thread-56) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422) [javatest.batch] ESC[0mESC[0m14:12:26,708 INFO [stdout] (Thread-56) at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47) [javatest.batch] ESC[0mESC[0m14:12:26,709 INFO [stdout] (Thread-56) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422) [javatest.batch] ESC[0mESC[0m14:12:26,709 INFO [stdout] (Thread-56) at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:57) [javatest.batch] ESC[0mESC[0m14:12:26,709 INFO [stdout] (Thread-56) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422) [javatest.batch] ESC[0mESC[0m14:12:26,710 INFO [stdout] (Thread-56) at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationIntercept or.java:135) ... [javatest.batch] ESC[0mESC[0m14:12:26,735 INFO [stdout] (Thread-56) Caused by: com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2072' ('MQRC_SYNCPOINT_NOT_AVAILABLE'). [javatest.batch] ESC[0mESC[0m14:12:26,735 INFO [stdout] (Thread-56) at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:203) [javatest.batch] ESC[0mESC[0m14:12:26,735 INFO [stdout] (Thread-56) ... 84 more [javatest.batch] ESC[0mESC[0m14:12:26,736 INFO [stdout] (Thread-56) [javatest.batch] ESC[0mESC[0m14:13:17,110 INFO [stdout] (Thread-53) 04-19-2018 14:13:17: ERROR: ERROR: asynRecBytesMsgTopicTest failed [javatest.batch] ESC[0mESC[0m14:13:17,111 INFO [stdout] (Thread-53) 04-19-2018 14:13:17: ERROR: Test case throws exception: Test Failed! [javatest.batch] ESC[0mESC[0m14:13:17,111 INFO [stdout] (Thread-53) 04-19-2018 14:13:17: ERROR: Exception at: [javatest.batch] ESC[0mESC[0m14:13:17,113 INFO [stdout] (Thread-53) 04-19-2018 14:13:17: ERROR: com.sun.ts.lib.harness.EETest$Fault: ERROR: asynRecBytesMsgTopicTest failed [javatest.batch] ESC[0mESC[0m14:13:17,113 INFO [stdout] (Thread-53) at com.sun.ts.tests.jms.ee.mdb.mdb_rec.MDBClient.asynRecBytesMsgTopicTest(MDBClient.java:384) [javatest.batch] ESC[0mESC[0m14:13:17,113 INFO [stdout] (Thread-53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [javatest.batch] ESC[0mESC[0m14:13:17,113 INFO [stdout] (Thread-53) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [javatest.batch] ESC[0mESC[0m14:13:17,113 INFO [stdout] (Thread-53) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [javatest.batch] ESC[0mESC[0m14:13:17,114 INFO [stdout] (Thread-53) at java.lang.reflect.Method.invoke(Method.java:498) [javatest.batch] ESC[0mESC[0m14:13:17,114 INFO [stdout] (Thread-53) at com.sun.ts.lib.harness.EETest.run(EETest.java:550) [javatest.batch] ESC[0mESC[0m14:13:17,114 INFO [stdout] (Thread-53) at com.sun.ts.lib.harness.EETest.getPropsReady(EETest.java:446) [javatest.batch] ESC[0mESC[0m14:13:17,114 INFO [stdout] (Thread-53) at com.sun.ts.lib.harness.EETest.run(EETest.java:305) [javatest.batch] ESC[0mESC[0m14:13:17,114 INFO [stdout] (Thread-53) at com.sun.ts.lib.harness.EETest.run(EETest.java:257) [javatest.batch] ESC[0mESC[0m14:13:17,115 INFO [stdout] (Thread-53) at com.sun.ts.tests.jms.ee.mdb.mdb_rec.MDBClient.main(MDBClient.java:35) [javatest.batch] ESC[0mESC[0m14:13:17,115 INFO [stdout] (Thread-53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [javatest.batch] ESC[0mESC[0m14:13:17,115 INFO [stdout] (Thread-53) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [javatest.batch] ESC[0mESC[0m14:13:17,115 INFO [stdout] (Thread-53) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [javatest.batch] ESC[0mESC[0m14:13:17,115 INFO [stdout] (Thread-53) at java.lang.reflect.Method.invoke(Method.java:498) [javatest.batch] ESC[0mESC[0m14:13:17,116 INFO [stdout] (Thread-53) at org.jboss.as.appclient.service.ApplicationClientStartService$1.run(ApplicationClientStartService.java:99) [javatest.batch] ESC[0mESC[0m14:13:17,116 INFO [stdout] (Thread-53) at java.lang.Thread.run(Thread.java:748) [javatest.batch] ESC[0mESC[0m14:13:17,116 INFO [stdout] (Thread-53)
Based on on [1] this might be problem with session interleaving:
Session interleaving is not supported Some application servers provide a capability called session interleaving, where the same JMS session can be used in multiple transactions, although it is only enlisted in one at a time. The IBM MQ resource adapter does not support this capability, which can lead to the following issues: An attempt to put a message to a MQ queue fails with reason code 2072 (MQRC_SYNCPOINT_NOT_AVAILABLE). Calls to xa_close() fail with reason code -3 (XAER_PROTO), and an FDC with probe ID AT040010 is generated on the IBM MQ queue manager being accessed from the application server. For information on how to disable this capability, see your application server documentation.
however this issue appear even if interleaving is disabled.
[1] https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q128150_.htm
TCK 7 tests failing because of this issue:
[javatest.batch] FAILED........com/sun/ts/tests/jms/ee/mdb/mdb_rec/MDBClient.java#asynRecBytesMsgTopicTest [javatest.batch] FAILED........com/sun/ts/tests/jms/ee/mdb/mdb_rec/MDBClient.java#asynRecMapMsgTopicTest [javatest.batch] FAILED........com/sun/ts/tests/jms/ee/mdb/mdb_rec/MDBClient.java#asynRecObjectMsgTopicTest [javatest.batch] FAILED........com/sun/ts/tests/jms/ee/mdb/mdb_rec/MDBClient.java#asynRecStreamMsgTopicTest [javatest.batch] FAILED........com/sun/ts/tests/jms/ee/mdb/mdb_rec/MDBClient.java#asynRecTextMsgTopicTest
- clones
-
JBEAP-14666 [IBM MQ 9 RA] TCK7 - MQRC_SYNCPOINT_NOT_AVAILABLE error when sending message
- Closed