IBM Support

AMQ7234I is issued periodically in the error log of an IBM MQ queue manager

Question & Answer


Question

What is the meaning of the AMQ7234I messages in error log of an IBM MQ queue manager?
For example:
AMQ7234I: 10000 messages from queue 'MY.LOCAL.QUEUE' loaded on queue manager 'QM1'.

Answer

These messages are informational and can be safely ignored.

.

+ Background
The following is the processing involved and meaning of the AMQ7234I messages:

The messages of the queue are unloaded from the memory into disk when the queue is closed and there are no open handles on the queue (unreferenced).
And when a queue is unreferenced for a period of activity, then the queue manager unloads the queue from memory. This process is known as "unloading the queue" .
.
The messages stored in a queue are loaded from disk into the memory when the queue is first opened after it was closed (that is, no open handles).
When the queue is referenced, then the queue index needs to be rebuilt in memory. This is known as "loading the queue".
If the queue is not deep (no messages or just few messages) then the loading will not have much impact. 
.
But if the queue is very deep (lots of messages on the queue), then the loading may take lot of time and that would affect the performance.
As the queue is loaded, the message AMQ7234I is issued periodically (by default every 10,000 messages) to provide some explicit feedback of the time that takes to load the many messages for the queue.
So, depending upon the access pattern, AMQ7234I messages can occasionally occur for queues containing over 10,000 messages.
 

+ Suggestions

Some suggestions to avoid this informational message, or at least to reduce its frequency are:
  • Avoid deep queues (MQ was not designed to be a database to keep messages for long periods of time).
  • Ensure that the queue is referenced very often by putting or getting messages.
  • Keep an open handle on the queue so that the queue will not be unloaded to disk.
    • One possible way to do this would be to write a simple program that opens the queue for MQOO_INQUIRE, and then sleep indefinitely. The queue will be unloaded from memory if the last application accessing it has closed the queue. Therefore, if at least one application has the queue open, then the queue will not be unloaded from memory.
+++ end +++

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"ARM Category":[{"code":"a8m3p000000PCH0AAO","label":"Administration"}],"ARM Case Number":"TS014395210","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
26 October 2023

UID

swg21251301