azure-service-bus
azure-service-bus copied to clipboard
Overflowing queue takes down the entire namespace
Description
When a single queue exceeds its maximum size, any attempt to send another message queue will result in exception.
The maximum entity size has been reached or exceeded for
Queue: '<namespace>:<entity>:<name>'. Size of entity in bytes:5368728747,
Max entity size in bytes: 5368709120.
For more information please see https://aka.ms/ServiceBusExceptions .
QuotaType: EntitySize Reference:85752742-6758-42be-8079-1f3963762236, TrackingId:011eb4e10000001d087f55d5656249a6_Gxx_Bxx, SystemTracker:xxxx, Timestamp:xxxx (QuotaExceeded).
For troubleshooting information, see https://aka.ms/azsdk/net/servicebus/exceptions/troubleshoot.
In addition to that, the namespace is rendered unusable.
Expected Behavior
At minimum, the namespace should be still usable despite a single queue reaching its maximum.
Ideally, the namespace should have a total size quota, shared among the entities. So if there are 10 queues and each is 5GB, the namespace quota to be 25GB. And if a single queue goes beyond the size but the overall size is less than the namespace size, avoid QuotaExceeded
exceptions that potentially lead to production outages.