+

Search Tips | Advanced Search

Are some of our queues working?

Use this topic to investigate when problems occur with a subset of our queues.

If you suspect that the problem occurs with only a subset of queues, select the name of a local queue that you think is having problems and perform the following procedures:

    Display queue information
    Use the DISPLAY QUEUE and DISPLAY QSTATUS commands to display information about the queue.

    Is the queue being processed?

    • If CURDEPTH is at MAXDEPTH, it might indicate that the queue is not being processed. Check that all applications that use the queue are running normally (for example, check that transactions in your CICS system are running or that applications started in response to Queue Depth High events are running).
    • Issue DISPLAY QSTATUS(xx) IPPROCS to see if the queue is open for input. If not, start the application.
    • If CURDEPTH is not at MAXDEPTH, check the following queue attributes to ensure that they are correct:

      • If triggering is being used:

        • Is the trigger monitor running?
        • Is the trigger depth too big?
        • Is the process name correct?
        • Have all the trigger conditions been met?

          Issue DISPLAY QSTATUS(xx) IPPROCS to see if an application has the same queue open for input. In some triggering scenarios, a trigger message is not produced if the queue is open for input. Stop the application to cause the triggering processing to be invoked.

      • Can the queue be shared? If not, another application (batch, IMS, or CICS ) might already have it open for input.
      • Is the queue enabled appropriately for GET and PUT?

    Do you have a long-running unit of work?
    If CURDEPTH is not zero, but when you attempt to MQGET a message the queue manager replies that there is no message available, issue either DIS QSTATUS(xx) TYPE(HANDLE) to show you information about applications that have the queue open, or issue DIS CONN(xx) to give you more information about an application that is connected to the queue.

    How many tasks are accessing the queues?
    Issue DISPLAY QSTATUS(xx) OPPROCS IPPROCS to see how many tasks are putting messages on to, and getting messages from the queue. In a queue-sharing environment, check OPPROCS and IPPROCS on each queue manager. Alternatively, use the CMDSCOPE attribute to check all the queue managers. If there are no application processes getting messages from the queue, determine the reason (for example, because the applications need to be started, a connection has been disrupted, or because the MQOPEN call has failed for some reason).

    Is this queue a shared queue? Does the problem affect only shared queues?

    Check that there is not a problem with the sysplex elements that support shared queues. For example, check that there is not a problem with the IBM MQ -managed Coupling Facility list structure.

    Use D XCF, STRUCTURE, STRNAME=ALL to check that the Coupling Facility structures are accessible.

    Use D RRS to check that RRS is active.

    Is this queue part of a cluster?
    Check to see if the queue is part of a cluster (from the CLUSTER or CLUSNL attribute). If it is, verify that the queue manager that hosts the queue is still active in the cluster.

    If we cannot solve the problem
    Contact the IBM support center for help (see Contacting IBM Software Support ).

Parent topic: Is there a problem with the IBM MQ queues?

Last updated: 2020-10-04