Bug 634975 - amqp-broker shows merely after manual QMF operation
Summary: amqp-broker shows merely after manual QMF operation
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: cumin
Version: 1.3
Hardware: All
OS: Linux
medium
medium
Target Milestone: 2.0
: ---
Assignee: Trevor McKay
QA Contact: Jan Sarenik
URL:
Whiteboard:
: 668528 (view as bug list)
Depends On:
Blocks: 693778
TreeView+ depends on / blocked
 
Reported: 2010-09-17 13:25 UTC by Jan Sarenik
Modified: 2011-06-23 15:39 UTC (History)
5 users (show)

Fixed In Version: cumin-0.1.4554-1.el5
Doc Type: Bug Fix
Doc Text:
Cause An error in cumin under Python 2.4 prevented resolution of dangling references to QMF objects when a reference was received before the object to which it referred. (Not present in later versions of Python) Consequence Certain objects would not be visible in the user interface if they contained a dangling reference to another object. Fix Repaired the programming error so that cumin operates correctly under Python 2.4. Result Dangling references are now resolved whenever an object previously referenced is received by cumin.
Clone Of:
Environment:
Last Closed: 2011-06-23 15:39:59 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Debug line showing deferred link resolution for broker (175 bytes, text/plain)
2011-02-23 18:00 UTC, Trevor McKay
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 668528 0 urgent CLOSED Console installation doesn't show the broker unless triggered by event 2021-02-22 00:41:40 UTC
Red Hat Product Errata RHEA-2011:0889 0 normal SHIPPED_LIVE Red Hat Enterprise MRG Grid 2.0 Release 2011-06-23 15:35:53 UTC

Internal Links: 668528

Description Jan Sarenik 2010-09-17 13:25:35 UTC
After installing Cumin according to manual and setting up
all the stuff around (sesame, condor) I do not see "amqp-broker"
in Messaging tab.

cumin-0.1.4297-1.el5
qpid-cpp-server-0.7.946106-15.el5

How reproducible: I think this is at least 50%, but maybe more

Steps to Reproduce:
1. Set up Cumin according to manual. Everythin local.
2. Log in, see no broker for a long time (tens of minutes)
3. On terminal shell, run "qpid-config queue add test"
  
Actual results: After the "qpid-config" command is issued
  the broker immediately appears (less than minute) in Cumin.

Expected results: Broker appears even without manually
  triggering its spirit.

Comment 1 Jan Sarenik 2010-09-22 08:52:44 UTC
Still present in cumin-0.1.4323-1.el5

The broker does not appear even after 10 minutes of Cumin running
and user logged in.

But soon after issuing "qpid-config add queue new", the broker appears
in Messaging tab.

Comment 3 William Henry 2011-01-11 15:28:42 UTC
Notes from 668528:
An event like qpid-stat triggers some sort of change event which allows cumin
to see the broker on the console UI. 

More details on the steps:
Steps to Reproduce:
Install MRG Messaging as per MRG Messaging Installation guide.
Install the MRG Console as per the MRG Management Console Installation Guide.
Start the broker 
Start the console
Log into the console and go to the Messaging tab. There is no broker.
Wait as long as you'd like. (I ran it for a weekend.)
Then run qpid-stat -c
Look at the console and see that the broker now shows up.

From Trevor - a diagnosis of the problem:
Note, this seems to be caused by a null value in the _systemRef_id field of the
broker record in the postgres database.  Starting up a console causes this
value to be filled in.

Comment 4 William Henry 2011-01-11 15:29:07 UTC
*** Bug 668528 has been marked as a duplicate of this bug. ***

Comment 6 Trevor McKay 2011-02-18 14:45:43 UTC
It appears there is a simpler way to reproduce this that avoids the reinstall.  This seems to be near 100% with current mrg-devel packages, both on my RHEL VM and on a box from beaker.

Based on past history, if the broker is going to show up it should show up almost immediately.  If Grid and Sesame data is there, but the broker is not, it's most likely in the failed condition.

For quick reproduce, with a system installed, do the following:

/sbin/service cumin stop
cumin-admin drop-schema
cumin-admin create-schema
cumin-admin add-user cumin cumin  # or guest, or whoever
/sbin/service cumin start

Log back in to cumin.  Broker will likely be missing on the messaging tab until qpid-stat -c or some such is run.

Comment 7 Jan Sarenik 2011-02-23 07:03:46 UTC
BTW, all I have to do to lose the broker presence
is restarting the cumin service.

That is on cumin-0.1.4546-1.el5

Comment 8 Trevor McKay 2011-02-23 18:00:22 UTC
Created attachment 480542 [details]
Debug line showing deferred link resolution for broker

This line is decidedly absent when running with the broken dictionary implementation.  The link is deferred, but never realized.

Comment 9 Trevor McKay 2011-02-23 18:06:45 UTC
Fixed in revision 4554.

The local implementation of defaultdict() to extend Python 2.4 had a bug, and this broke deferred link handling in cumin-data.  It turns out this BZ is a result of the deferred link handling not working.  With the corrected dictionary implementation, this BZ is solved.  

Attached is a file showing a debug output line as evidence.  With the broken dictionary implementation, this line is not present.

It is possible that this may affect other BZs as well.

Comment 10 Jan Sarenik 2011-02-24 14:15:41 UTC
Verified in cumin-0.1.4554-1.el5

Comment 11 Trevor McKay 2011-03-15 20:10:52 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause
    An error in cumin under Python 2.4 prevented resolution of dangling references to QMF objects when a reference was received before the object to which it referred.  (Not present in later versions of Python)

Consequence
    Certain objects would not be visible in the user interface if they contained a dangling reference to another object.

Fix
    Repaired the programming error so that cumin operates correctly under Python 2.4.

Result
    Dangling references are now resolved whenever an object previously referenced is received by cumin.

Comment 12 errata-xmlrpc 2011-06-23 15:39:59 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2011-0889.html


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