Qpid
  1. Qpid
  2. QPID-4632

Change Threshold Alerts from Level-Sensitive to Edge-Triggered

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.20
    • Fix Version/s: 0.21
    • Component/s: C++ Broker
    • Labels:
      None

      Description

      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.

        Activity

        Hide
        Ted Ross added a comment -

        Commit 1454601

        Show
        Ted Ross added a comment - Commit 1454601
        Hide
        Ted Ross added a comment -

        Proposed Patch

        Show
        Ted Ross added a comment - Proposed Patch

          People

          • Assignee:
            Ted Ross
            Reporter:
            Ted Ross
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development