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

        Ken Giusti created issue -
        Ken Giusti made changes -
        Field Original Value New Value
        Fix Version/s 0.9 [ 12315382 ]
        Hide
        Ken Giusti added a comment -

        Proposed fix.

        Show
        Ken Giusti added a comment - Proposed fix.
        Ken Giusti made changes -
        Attachment QPID-3080.patch [ 12472428 ]
        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.
        Ken Giusti made changes -
        Fix Version/s Future [ 12315490 ]
        Fix Version/s 0.9 [ 12315382 ]
        Hide
        Ken Giusti added a comment -

        Agreed - deferred to "Future"

        Show
        Ken Giusti added a comment - Agreed - deferred to "Future"
        Ken Giusti made changes -
        Issue Type Bug [ 1 ] Improvement [ 4 ]
        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
        Ken Giusti made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Not A Problem [ 8 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development