Azure service bus topics typically have a size quota of one gigabyte. Incoming messages are rejected when the topic hits the size quota. Reaching the size quota typically occurs when message processing connections are in a stopped state or when messages are coming in faster than AssetWise can process them off the subscription queues. To estimate the maximum number of messages a topic can store, take the topic quota size of 1 GiB / number of subscriptions under the topic / average message size. Below are some example calculations. As the number of subscriptions in a topic increases, the maximum number of messages that can enqueued decreases. As we add more AssetWise product subscriptions, we will be allowed fewer messages sitting unprocessed in a topic’s message queues.
In these examples I estimate the average message size is 8 KiB, the typical size for messages.
A topic with three subscriptions is 1 GiB / 3 subscriptions / 8 KiB per message = 43,690 messages
A topic with four subscriptions is 1GiB / 4 subscriptions / 8 KiB per message = 32,768 messages
A topic with five subscriptions is 1 GiB / 5 subscriptions / 8 KiB per message = 26,214 messages
Typically the size quota is 1 GiB. The 1 GiB limit can be increased to a larger amount at topic creation time. It cannot be changed after the topic is created. This is helpful when you anticipate a topic will have both large quantity of messages and large quantity of subscriptions.
Service Bus Explorer allows this setting to be defined when creating a topic - “Max Queue Size”.
If a topic is bumping up against size limits, one way to free up space is to forward the temp subscription messages into another topic. This can be configured in Service Bus Explorer. Add the topic to the Forward To field in the subscription’s properties and click Update.