Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 591320

Summary: qmfv2 default bindings are too generic
Product: Red Hat Enterprise MRG Reporter: Ken Giusti <kgiusti>
Component: qpid-qmfAssignee: Ted Ross <tross>
Status: CLOSED CURRENTRELEASE QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: urgent Docs Contact:
Priority: low    
Version: betaCC: tross
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-13 13:22:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ken Giusti 2010-05-11 21:23:42 UTC
Description of problem:

The default routing key bindings for qmfv2 are too generic, resulting in a great deal of needless message propagation.

Example:  "agent.ind.data" - used for binding for agent events - will receive all events regardless of need or interest.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Ken Giusti 2010-05-11 22:17:18 UTC
FYI:  these log messages are issued by the broker - indicating that the queues are filling up:

May 11 15:34:33 pman08 qpidd[7399]: 2010-05-11 15:34:33 error Execution exception: resource-limit-exceeded: Policy exceeded on
 qmfc-v2-pman07.lab.bos.redhat.com.31942.1, policy: size: max=104857600, current=104839272; count: unlimited; type=reject (qpi
d/broker/QueuePolicy.cpp:85)

Comment 2 Ted Ross 2010-05-12 17:06:23 UTC
The following Python fragment illustrates how to limit the kind of updates that are received by a console:

======
from qmf.console import Session, DebugConsole
c = DebugConsole()
s = Session(c, rcvObjects=True, userBindings=True)
s.bindClass("org.apache.qpid.broker", "exchange")
s.bindClass("org.apache.qpid.broker", "queue")
b = s.addBroker()
======

By selecting the userBindings option in the Session, the client app is indicating that it will use calls to bindPackage/bindClass to indicate which classes of object it wishes to hear about.

Comment 3 Ted Ross 2010-05-12 17:19:42 UTC
Fixed upstream at revision 943589.