+

Search Tips   |   Advanced Search

Investigating why a topic space is full

When a topic space becomes full, exceptions will be returned when we attempt to publish a message to that topic space. The most probable reason for a topic space filling up is that the publishing application is producing messages faster than they can be consumed by the subscribing application or applications. However there might be other causes, such as dormant subscribers or broken communications links. Another possible cause is a regular increase in message traffic, for example at certain times of day. Consider increasing the high message threshold to overcome this problem.

To investigate why a topic space on a service integration bus is full:


Tasks

  1. Click Service integration -> Buses -> bus_name -> [Destination resources] Destinations to display a list that includes all the topic spaces on that bus. Click the name of the topic space that is full.

  2. Click [Message Points] Publication points.

  3. Click the name of a publication point, then on the Runtime tab review the value of the Current message depth. If this value increases steadily, the publishing application is outpacing the subscribers. Click Subscriptions to display the subscriptions for the topic space. For each subscription, click on the subscription name and examine the Current message depth. If all the subscriptions are filling up, reduce the rate at which the publishing application is publishing messages.

    If the topic space is mediated, complete the following checks for each mediation point the message might have been sent to or consumed from.

  4. If only one subscription is filling up, the problem lies with the related subscribing application. If the subscription is nondurable, modify the subscribing application to increase the speed of consumption.

  5. If the subscription is a durable subscription, click Messages and ensure that the message at the top of the list changes with time; this indicates that the subscribing application is consuming messages. If the message does not change but the application is running, either delete the subscription or increase the high message threshold of the publication point.

  6. Determine which messaging engines the publishing and subscribing applications are connected to, see Determining which messaging engine an application is connected to.

  7. If the publishing and subscribing applications are connected to different messaging engines, the messages are being routed through a remote queue point. On the publisher messaging engine, click Remote publication points and then click the publication point that represents the subscriber publication point. Review the number of current outbound messages. If the number of current messages is low, the problem does not lie with the remote message point. If the number of current messages is approaching the high message threshold, complete the following checks:

    • Check that 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 published. If the messaging engines cannot communicate, resolve the failure. If we 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. To avoid the messages building up again, click Topics, then click Clear all. No more messages will be sent to this remote publication point. To reset the topic list, restart the messaging engine.

    • 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 -> 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