Bootstrap FreeKB - IBM MQ - Resolve "MQRC_BACKED_OUT"
IBM MQ - Resolve "MQRC_BACKED_OUT"

Updated:   |  IBM MQ articles

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 Buy Me A Coffee



Comments


Add a Comment


Please enter f83ab7 in the box below so that we can be sure you are a human.