Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 593828 - QMF: python console needs ability to filter unsolicited events.
QMF: python console needs ability to filter unsolicited events.
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-qmf (Show other bugs)
Development
All Linux
high Severity high
: 1.3
: ---
Assigned To: Ken Giusti
MRG Quality Engineering
:
Depends On:
Blocks: 587410 593831
  Show dependency treegraph
 
Reported: 2010-05-19 15:23 EDT by Ken Giusti
Modified: 2011-08-12 12:02 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-22 06:26:58 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
simple qmf console (3.78 KB, application/octet-stream)
2010-05-19 15:27 EDT, Ken Giusti
no flags Details

  None (edit)
Description Ken Giusti 2010-05-19 15:23:42 EDT
Description of problem:

During scale testing, it was found that adding or removing a qmf console caused all other qmf consoles to receive broker events (clientConnect, queueDeclare, bind, etc).  These events are the management events generated by the broker, and are of no concern to the console application.  

As we scale up the number of consoles, the cpu load on the consoles & broker incurred by these unnecessary messages becomes a limiting scale factor.


Version-Release number of selected component (if applicable):
trunk

How reproducible:
100%

Steps to Reproduce:
1. start a broker
2. add a number of python qmf consoles.
3. watch the cpu activity of the consoles.
4. start or stop a console
5. a short burst of cpu activity is seen across all consoles.
  
Actual results:

Causes load on unrelated consoles.


Expected results:

Unrelated consoles should not be affected.

Additional info:

A qmf console should be able to indicate to the broker which events it is interested in receiving.
Comment 1 Ken Giusti 2010-05-19 15:27:54 EDT
Created attachment 415236 [details]
simple qmf console
Comment 2 Ken Giusti 2010-05-20 17:48:23 EDT
Committed revision 946801.

New qmf console api added:  Session.addEventFilter().

Takes arguments:

   package="<schema package string>, 
   event="<specific event>"

event is optional.

Allows console to only receive those events from the given package.  

Example:


    session = Session(console,
                      rcvObjects=opts.objects,
                      rcvEvents=opts.events,
                      rcvHeartbeats=opts.heartbeats,
                      manageConnections=opts.manage_connections)


    # only want events from org.apache.qpid.broker and
    # org.apache.qpid.agent.example packages...

    session.addEventFilter(package="org.apache.qpid.broker")
    session.addEventFilter(package="org.apache.qpid.agent.example")

Must be called before first addBroker()....
Comment 4 Ken Giusti 2010-05-24 15:15:54 EDT
Upstream revision: 946801

Note You need to log in before you can comment on or make changes to this bug.