Skip to main content

MQGET for SYSTEM.ADMIN.COMMAND.QUEUE failed with reason code 2071 - Middleware News

MQGET for SYSTEM.ADMIN.COMMAND.QUEUE failed with reason code 2071 - Middleware News


Command server fails to start or fails shortly after it receives a message in the SYSTEM.ADMIN.COMMAND.QUEUE. No FDC files are generated. the error received is AMQ8506:
Command server MQGET failed with reason code 2071.

EXPLANATION:

An MQGET request by the command server, for the WebSphere MQ queue SYSTEM.ADMIN.COMMAND.QUEUE, failed with reason code 2071.

Symptom

2071 0x00000817 MQRC_STORAGE_NOT_AVAILABLE

Cause

Well designed MQ server applications typically assume a relatively small initial buffer size, and then heuristically tune the required buffer size based upon the sizes of the messages consumed. For example both the repository manager and the pubsub broker adopt such a scheme.


The MQ command server however allocates a fixed size buffer based upon the MAXMSGL defined for the SYSTEM.ADMIN.COMMAND.QUEUE and then issues it's MQGET's using this buffer size. Because the commands accepted by the command server are not intrinsically big, and the default MAXMSGL for SYSTEM.ADMIN.COMMAND.QUEUE is only 9000 bytes, then this simplistic scheme is generally adequate in this scenario.

However if a very large MAXMSGL is set for SYSTEM.ADMIN.COMMAND.QUEUE, then this would be a relatively inefficient design, as the command server would allocate a very large buffer and the queue manager would interpret this as a hint that very large messages were going to be processed.

If the max message length for the SYSTEM.ADMIN.COMMAND.QUEUE is increased, the command server allocates a larger buffer when reading messages from this queue. If it is significantly increased, say from 4 to 100 MB, the "data" ulimit for the process can be insufficient, causing it to crash.

Resolving the problem

***** PLEASE READ THIS CAREFULLY ******
Do not alter MAXMSGL set for SYSTEM.ADMIN.COMMAND.QUEUE Certain system objects are managed exclusively by the queue manager and should never be modified under any circumstance. However here are some workarounds to get the command server to start. Any of these should work.
*********************************************

In /etc/security/limits, increase the "data" ulimit for the account used to start the queue manager (usually root) to 192 MB or greater. Setting the data segment size (ulimit -d) to unlimited will resolve the issue. Note that the value is configured in 512 byte blocks, and -1 means unlimited.

In runmqsc, reset the MAXMSGL attribute on the SYSTEM.ADMIN.COMMAND.QUEUE to 4194304.
In runmqsc, decrease the queue manager's MAXMSGL attribute to something like 33554432, depending on the "data" ulimit value.

Comments

adsrerrapop

Popular posts from this blog

IBM Websphere MQ interview Questions Part 5

MQ Series: - It is an IBM web sphere product which is evolved in 1990’s. MQ series does transportation from one point to other. It is an EAI tool (Middle ware) VERSIONS:-5.0, 5.1, 5.3, 6.0, 7.0(new version). The currently using version is 6.2 Note: – MQ series supports more than 35+ operating systems. It is platform Independent. For every OS we have different MQ series software’s. But the functionality of MQ series Default path for installing MQ series is:- C: programfiles\BM\clipse\SDK30 C: programfiles\IBM\WebsphereMQ After installation it will create a group and user. Some middleware technologies are Tibco, SAP XI. MQ series deals with two things, they are OBJECTS, SERVICES. In OBJECTS we have • QUEUES • CHANNELS • PROCESS • AUTHENTICATION • QUERY MANAGER. In SERVICES we have LISTENERS. Objects: – objects are used to handle the transactions with the help of services. QUEUE MANAGER maintains all the objects and services. QUEUE: – it is a database structure ...

IBM Websphere MQ Reason code list / mq reason codes / websphere mq error codes / mq error messages

Reason code list ================= The following is a list of reason codes, in numeric order, providing detailed information to help you understand them, including: * An explanation of the circumstances that have caused the code to be raised * The associated completion code * Suggested programmer actions in response to the code * 0 (0000) (RC0): MQRC_NONE * 900 (0384) (RC900): MQRC_APPL_FIRST * 999 (03E7) (RC999): MQRC_APPL_LAST * 2001 (07D1) (RC2001): MQRC_ALIAS_BASE_Q_TYPE_ERROR * 2002 (07D2) (RC2002): MQRC_ALREADY_CONNECTED * 2003 (07D3) (RC2003): MQRC_BACKED_OUT * 2004 (07D4) (RC2004): MQRC_BUFFER_ERROR * 2005 (07D5) (RC2005): MQRC_BUFFER_LENGTH_ERROR * 2006 (07D6) (RC2006): MQRC_CHAR_ATTR_LENGTH_ERROR * 2007 (07D7) (RC2007): MQRC_CHAR_ATTRS_ERROR * 2008 (07D8) (RC2008): MQRC_CHAR_ATTRS_TOO_SHORT * 2009 (07D9) (RC2009): MQRC_CONNECTION_BROKEN * 2010 (07DA) (RC2010): MQRC_DATA_LENGTH_ERROR * 2011 (07DB) (RC2011): MQRC_DYNAMIC_Q_NAME_ERROR * 2012 (07DC) (RC201...

Installing IBM Integration Bus on Linux - Middleware News

Before you begin Check the readme.html file for any updates to these installation instructions; see the product readmes web page. Check that you have enough memory and disk space; see IBM Integration Bus system requirements. Check that you have completed any prerequisite steps; see Preparing the system. If you are using Red Hat Linux 6.5 with WebKitGTK version webkitgtk.x86_64 1.2.6-5.el6, complete the steps in the following topic to work around problems with the Eclipse SWT browser: IBM Integration Toolkit on RedHat 6.5 crashes with "JVM terminated. Exit code=160" error. If you are using Red Hat Linux 6.x or 7.x, you might need the GTK2 32-bit drivers installed on Linux; for more information, see IBM Integration Toolkit on Linux becomes unresponsive after opening a DFDL or XSD file. If you are using Red Hat Linux 7.1, complete the steps in the following topic to work around problems with the Eclipse SWT browser: Internal web browser in IBM Integration Toolkit ...