Menu Search

The Apache Qpid Broker-J supports a flow control mechanism which is triggered when a configured disk quota is exceeded. This is supported by the BDB and Derby virtualhosts.

This functionality blocks all producers on reaching the disk overflow limit. When consumers consume the messages, causing disk space usage to falls below the underflow limit, the producers are unblocked and continue working as normal.

Two limits can be configured:

overfull limit - the maximum space on disk (in bytes).

underfull limit - when the space on disk drops below this limit, producers are allowed to resume publishing.

The overfull and underful limit can be specified when a new virtualhost is created or an exiting virtualhost is edited. This can be done using the Store Overflow and Store Underfull settings within the virtual host creation and edit dialogue. If editing an existing virtualhost, the virtualhost must be restarted for the new values to take effect.

The disk quota functionality is based on "best effort" principle. This means the broker cannot guarantee that the disk space limit will not be exceeded. If several concurrent transactions are started before the limit is reached, which collectively cause the limit to be exceeded, the broker may allow all of them to be committed.

The Broker will also impose flow control if the filesystem hosting a virtualhost exceeds a configured percentage..


The Producer Flow Control can be configured on individual queue using Producer Flow Control overflow policy. For more details, please readSection 4.7.5, “Controlling Queue Size”.