WAS v8.5 > Troubleshoot > Troubleshooting Service integration > Troubleshooting service integration message problems

Investigating why a queue is full

When a queue becomes full, exceptions are returned when we attempt to produce a message to that queue. The most probable reason for a queue filling up is the producing application is producing messages faster than they can be consumed by the consuming application, although causes can also include broken communication links or errors in the consuming application.

To investigate why a queue on a service integration bus is full...

  1. Click Service integration -> Buses -> bus_name -> [Destination resources] Destinations, then click the name of the queue that is full.

  2. Click [Related Items] Application resources topology, then use the Application resources for this destination panel to inspect the configuration of the applications and JMS resources that are using the destination.

    This panel can help you find the cause of the problem by giving you a high level view of many relevant resources.

  3. Click Service integration -> Buses -> bus_name -> [Destination resources] Destinations -> queue_name -> [Message points] Queue points -> queue_point_name, then on the Runtime tab review the value of the Current message depth. If this value increases steadily, the producing application is outpacing the consumer.

    If the destination has multiple queue points, or is mediated, complete the following checks for each message point the message might have been sent to or consumed from.

  4. Determine which messaging engines the producing and consuming applications are connected to.

  5. If the producing and consuming applications are connected to different messaging engines, the messages are being routed through a remote queue point. On the producer messaging engine, click Remote queue points and then click the queue point that represents the consumer queue point. Review the number of current outbound messages. If the number of current messages is low, the problem does not lie with the remote queue point; check the consuming application is started and is consuming messages without error. If the number of current messages is approaching the high message threshold, complete the following checks:

    • Check the two messaging engines can communicate with each other, see Service integration troubleshooting: Checking the communication between two messaging engines in a bus. If the messaging engines can communicate, reduce the rate at which messages are produced. If the messaging engines cannot communicate, resolve the failure. If you encounter problems processing the backlog of messages once communication is restored, and the backlog does not contain any messages that are vital, consider deleting all the messages on the remote message point. To delete the messages, select the relevant remote message point and click Delete all messages.

      You will not be able to recover the messages once they have been deleted.

    • Check that messages are not being trapped in the Committing state. If they are, a resource manager, such as a database, has hung. Resolve the issue with the resource manager. If this fails, note the Transaction ID of the message and click Servers -> Server Types -> WebSphere application servers -> server_name -> Runtime > [Additional Properties] Transaction Service to display the general properties for the transaction service, including numbers of transactions. Use the Review links to resolve the transaction whose Global ID matches the transaction ID of the message.


Subtopics


Related information:

Application resources for this destination


+

Search Tips   |   Advanced Search