Start of change

64-bit IBM MQ queue limitations

Use 64-bit IBM® MQ memory queues for high-volume, sequentially accessed IBM MQ queues. Ensure that you understand the restrictions that apply to 64-bit IBM MQ memory queues before you define or migrate to 64-bit IBM MQ memory queues.

You cannot use the following operations on 64-bit IBM MQ memory queues:
  1. Search a queue by correlation identifier (ID)
  2. Search a queue by message ID
  3. Use the MQOPEN API to browse or open a queue with the MQOO_BROWSE option specified
  4. Use the MQGET API to get a message off of a transmission queue that has an active sender channel

If you expect to use any of these operations, your queue might not be a candidate to use 64-bit IBM MQ memory.

When you want to convert existing 31-bit IBM MQ queues to use 64-bit memory, you can use the GETDIAG parameter on the ZMQSC DISPLAY command to determine which 31-bit queues are using the restricted operations. Consider the following example:
User:      ZMQSC DISPLAY QL-* GETDIAG COMMON-NO

System:    MQSC0278I 14.39.34 LOCAL QUEUE MQGET DIAGNOSTICS DISPLAY
                                                              SEARCH/    XMITQ  LAST
           Queue Name                                         BROWSE     GET    PROG _
           -------------------------------------------------- ---------- ------ -----
           DEAD.LETTER.QUEUE                                  NO         N/A
           SPECIAL.RECOVERY.QUEUE                             NO         N/A 
           SYSTEM.TEMPORARY.QUEUE                             NO         N/A     
           CalculatorQueue                                    YES (CB)   N/A    QMQ1
           CalculatorSyncReplyQueue                           NO         N/A
           CalculatorAsyncReplyQueue                          NO         N/A 
           AsyncCalculatorQueue                               NO         N/A
           MY.MEMQ                                            YES (M)    N/A    QMQ2
           MY.XMITQ.1                                         NO         NO     
           MY.XMITQ.2                                         NO         YES    QMQX
           MY.XMITQ.3                                         NO         NO
           END OF DISPLAY+
In this example, the CalculatorQueue, MY.MEMQ, and MY.XMITQ.2 queues are not good candidates to use 64-bit IBM MQ memory. You can see the following information from the display example.
  • The CalculatorQueue queue is opened to browse messages and is using a search by correlation ID.
  • The MY.MEMQ queue is doing a search by message ID.
  • For the MY.XMITQ.2 queue, the QMQX application is getting messages off an active transmission queue.
End of change