Queue threshold events are currently level-sensitive and require a rate-limiting feature. Every time a message is enqueued and the queue depth is above the configured threshold, an event is potentially raised. The repeat-interval attribute prevents the event from being raised too frequently.
Also, there is no way to produce an event for a lower or going-down threshold.
The threshold feature should be changed to be edge-triggered as follows:
Per-queue configuration for thresholds is:
- upper-threshold (bytes and messages)
- lower-threshold (bytes and messages)
Two event types are (or one type with an argument) defined:
- threshold crossed increasing
- threshold crossed decreasing
The increasing event is raised when the queue depth goes from (upper-threshold - 1) to upper-threshold.
The decreasing event is raised when the queue depth goes from (lower-threshold + 1) to lower-threshold.
The upper and lower thresholds should have some gap between them to establish hysteresis which will result in limited event rates.
Message and Byte thresholds will be handled independently.
|Field||Original Value||New Value|
|Assignee||Ted Ross [ tedross ]|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Fix Version/s||0.21 [ 12323549 ]|
|Fix Version/s||Future [ 12315490 ]|
|Resolution||Fixed [ 1 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|