Qpid
  1. Qpid
  2. QPID-3080

Broker should issue QMF event on queue flow control state change

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Trivial Trivial
    • Resolution: Not a Problem
    • Affects Version/s: 0.9
    • Fix Version/s: Future
    • Component/s: C++ Broker
    • Labels:
      None
    • Environment:

      all

      Description

      When a queue's flow control state changes, the broker should issue an QMF event to notify management clients.

      A rough sketch of a possible schema implementation for the event:

      <eventArguments>
      ....
      <arg name="qName" type="sstr" desc="Name of a queue"/>
      <arg name="msgDepth" type="count32" desc="Current size of queue in messages"/>
      <arg name="byteDepth" type="count32" desc="Current size of queue in bytes"/>
      <arg name="active" type="bool" desc="True if flow stopped, else flow allowed"/>
      </eventArguments>

      <event name="queueFlowControl" sev="inform" args="qName, active, msgDepth, byteDepth"/>

        Activity

        Hide
        Ken Giusti added a comment -

        Proposed fix.

        Show
        Ken Giusti added a comment - Proposed fix.
        Hide
        Ted Ross added a comment -

        How frequently is this event likely to be raised?

        Show
        Ted Ross added a comment - How frequently is this event likely to be raised?
        Hide
        Ken Giusti added a comment -

        As implemented, there is no time-based dampening. But the events are governed by the same hysteresis that prevents the thrashing of flow control state (a separation between the 'active' and 'inactive' thresholds).

        So it depends - based on configuration and traffic flow, it has the potential of being quite frequent.

        To be honest, I'm not 100% convinced on the necessity of this feature - especially in light of Gordon's recent implementation of queue threshold events. If someone really wanted events on flow control changes, they could be manually configured on a per-queue basis using the new queue threshold event feature.

        I'm leaning toward to deferring this, unless there is an overwhelming consensus to add it.

        Opinions?

        Show
        Ken Giusti added a comment - As implemented, there is no time-based dampening. But the events are governed by the same hysteresis that prevents the thrashing of flow control state (a separation between the 'active' and 'inactive' thresholds). So it depends - based on configuration and traffic flow, it has the potential of being quite frequent. To be honest, I'm not 100% convinced on the necessity of this feature - especially in light of Gordon's recent implementation of queue threshold events. If someone really wanted events on flow control changes, they could be manually configured on a per-queue basis using the new queue threshold event feature. I'm leaning toward to deferring this, unless there is an overwhelming consensus to add it. Opinions?
        Hide
        Justin Ross added a comment -

        As Ken mentioned, since (a) these might be very frequent, which could threaten their utility and affect broker scale, and since (b) the already included queue threshold alerts can address the monitoring concern, this change should wait for 0.12.

        Show
        Justin Ross added a comment - As Ken mentioned, since (a) these might be very frequent, which could threaten their utility and affect broker scale, and since (b) the already included queue threshold alerts can address the monitoring concern, this change should wait for 0.12.
        Hide
        Ken Giusti added a comment -

        Agreed - deferred to "Future"

        Show
        Ken Giusti added a comment - Agreed - deferred to "Future"
        Hide
        Ken Giusti added a comment -

        No longer considered necessary. The new queue threshold feature implements this functionality in a more generic manner. See: https://issues.apache.org/jira/browse/QPID-3002

        Show
        Ken Giusti added a comment - No longer considered necessary. The new queue threshold feature implements this functionality in a more generic manner. See: https://issues.apache.org/jira/browse/QPID-3002

          People

          • Assignee:
            Ken Giusti
            Reporter:
            Ken Giusti
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development