IBM Support

WebSphere MQ Adapter Fails with "MQJE001: Completion Code 2, Reason 2024" error

Troubleshooting


Problem

WebSphere MQ Adapter configured in Sync Receive mode fails to download more than 10000 messages from MQ Server and BP fails with "com.ibm.mq.MQException:- MQJE001: Completion Code 2, Reason 2024" Note - MQ Server's Queue Manager is configured with "Max uncommitted messages" as 10000 --Business Process (BP) snippet -- ALL

Symptom

Following exception is printed in system.log

[2014-10-03 13:11:59.275] ERRORDTL [1412356319274]com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2024'.
at com.ibm.mq.MQDestination.getInt(MQDestination.java:655)
at com.ibm.mq.MQDestination.get(MQDestination.java:459)
at com.sterlingcommerce.woodstock.services.websphereMQ.WebSphereMQServerImpl.doRcv(WebSphereMQServerImpl.java:365)
at com.sterlingcommerce.woodstock.services.websphereMQ.WebSphereMQServerImpl.getMessage(WebSphereMQServerImpl.java:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:618)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:339)
at sun.rmi.transport.Transport$1.run(Transport.java:189)
at sun.rmi.transport.Transport$1.run(Transport.java:186)
at java.security.AccessController.doPrivileged(AccessController.java:366)
at sun.rmi.transport.Transport.serviceCall(Transport.java:185)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:823)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626)
at java.lang.Thread.run(Thread.java:804)

Cause

WebSpehere MQ adapter is reaching out to MQ Queue for downloading of messages with these receive options.
MQGMO_SYNCPOINT
MQGMO_ALL_MSGS_AVAILABLE

MQGMO_SYNCPOINT option enables sync point and download happens in transaction. Since MQ server imposing limit (of 10000) on no. of uncommitted messages, when client tries to download more than 10000 messages in single transaction MQ server reports error.

Diagnosing The Problem

Look for MQ error "MQJE001: Completion Code 2, Reason 2024" either from BP or system.log

Resolving The Problem

If transaction is not required by WebSphere MQ Adapter for downloading of large number messages, turn off syncpoint through GPM property rcv_MQGMO_syncpoint

-- Updated BP snippet --
<operation name="WebSphere MQ Adapter">
<participant name="DOWNLOAD.ALL.MSGS"/>
<output message="WebsphereMQInputMessage">
<assign to="." from="*"></assign>
<assign to="rcv_msgHandling">ALL</assign>
<assign to="rcv_MQGMO_syncpoint">No</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>

[{"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Adapters","Platform":[{"code":"PF025","label":"Platform Independent"},{"code":"PF016","label":"Linux"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}},{"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Adapters","Platform":[{"code":"","label":"All"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
09 January 2020

UID

swg21686455