
Let's say you are getting the following error when attempting to GET or PUT a message on a topic or queue.
JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2003' ('MQRC_BACKED_OUT')
Log Files
Check the IBM MQ error log for the following events.
AMQ7469I: Transactions rolled back to release log space.
AMQ7486I: Transaction 0.123456789 was preventing log space from being released.
To determine if this is indeed an issue with log space, the mqs.ini file, which is typically located at /var/mqm/mqs.ini, contains the base logs directory. By default, mqs.ini has the following:
LogDefaults:
LogDefaultPath=/var/mqm/log
The df command can be used to ensure the partition that contains the log has available space. In this example, the /var directory has plenty of available space.
~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-lv_mqmlog 6.0G 2.2G 3.9G 37% /var/mqm/log
Long running transaction
The IBM MQ log mentions that the transaction may be running for a long time.
A long running transaction was detected.
Try to ensure that the duration of your transactions is not excessive.
Identify the application responsible for the long running unit of work and
ensure this application is creating and completing transactions in a timely
manner.
Prior to the MQRC_BACKED_OUT event in the log of the application that is attempting to do something, check the applications log for an event like this. Notice in this example that the application was attempting to GET a message from topic001.
JMSWMQ2002: Failed to get a message from destination 'path/to/topic001'
WebSphere MQ classes for JMS attempted to perform an MQGET
In this scenario, since the issue is with GET, the issue is with the subscribers of the topic, not the publisher. The display sub command can be used to determine the subscribers. Let's say subscriber001 is subscribed to the topic. You will probably want to check with the team that developed the application that is attempting the GET request to see if there is some issue with the application.
SUBID(100001)
SUB(subscriber001)
TOPICSTR(path/to/topic)
TOPICOBJ( ) DISTYPE(RESOLVED)
DEST(SYSTEM.MANAGED.DURABLE.123456)
DESTQMGR(MANAGER001) PUBAPPID( )
SELECTOR( ) SELTYPE(NONE)
USERDATA(Shared Subscription)
PUBACCT(0000000000000000000000000000000000000000000000000000000000000000)
DESTCORL(100001)
DESTCLAS(MANAGED) DURABLE(YES)
EXPIRY(UNLIMITED) PSPROP(MSGPROP)
PUBPRTY(ASPUB) REQONLY(NO)
SUBSCOPE(ALL) SUBLEVEL(1)
SUBTYPE(API) VARUSER(ANY)
WSCHEMA(TOPIC) SUBUSER(john.doe)
CRDATE(2020-01-07) CRTIME(21:43:48)
ALTDATE(2020-09-15) ALTTIME(00:00:24)
Did you find this article helpful?
If so, consider buying me a coffee over at