Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.8
-
None
Description
-
- Problem
Steadily increasing queue depth is a common symptom of problems in a
messaging application. The queue may run out of capacity or the broker
may run out of resources if this condition is not
rectified. Generating alerts when depth reaches preconfigured
thresholds would allow administrators to be notified allowing them to
take corrective action or at least be aware of the situation before it
becomes more critical.
-
- Solution
Allow a policy to be specified via the arguments field to queue
declare, that sets up particular threshold in either message count or
cumulative message content size, and specifies the level of alert to
generate. QMF already contains a mechanism for raising alerts. It
should also be possible to rely on the log output for these alerts if
log-scraping is used.
The policy should also allow the frequency at which alerts will be
regenerated if the depth remains above the configured threshold.
-
- Rationale
Already use that mechanism to configure queue limits. Have QMF alert
capabilities. Seems logical to extend the policies to allow earlier
warning when approaching capacity.
-
- Implementation Notes
There will be no new components added, this will be added to the code
around qpid::broker::Queue and qpid::broker::QueuePolicy. (These do
need refactored somewhat as they are close to unmainatainable at
present).
Will need to ensure that existing queue configuration tools
(i.e. qpid-config) allow configuration of these limits.
-
- Consequences
Need to ensure that as new features get added around queueing, the
code is refactored to keep it maitainable and easy to read. Release
artefacts are unaffected. The feature will need to be documented;
configuration described in general above details will be added here as
the implementation progresses. Will not affect backwards
compatibility.