Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-15535

[IBM MQ 8 RA] TCK7 - MQRC_SYNCPOINT_NOT_AVAILABLE error when sending message

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • 7.2.0.CD14
    • 7.2.0.CD12, 7.2.0.CD14
    • WebSphereMQ RA
    • 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
      

              jmesnil1@redhat.com Jeff Mesnil
              mstyk_jira Martin Styk (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: