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

Bug 654461

Summary: QMF Method Calls Fail on New Queues
Product: Red Hat Enterprise MRG Reporter: Chris Pitman <christopher.pitman>
Component: qpid-qmfAssignee: Ted Ross <tross>
Status: CLOSED ERRATA QA Contact: Jan Sarenik <jsarenik>
Severity: medium Docs Contact:
Priority: low    
Version: 1.3CC: gsim, iboverma, jross, jsarenik, tross
Target Milestone: 2.0   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: python-qmf-0.9.1079953 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-23 15:50:05 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:
Attachments:
Description Flags
Failing Example Code
none
A simpler reproducer in Python none

Description Chris Pitman 2010-11-17 22:00:52 UTC
Description of problem:

After a queue is created via a qpid::messaging::Sender with create=always, a qmf 2 method call against the queue will fail with the following error until 10 seconds have passed (where "Error Code" and "Error Message" are returned in the response:

An exception occurred during a call to a QPid function. Details: Problem rerouting MR.Retry to BOB.Ex. Error code: 1. Error message: No object found with ID=0-0-0--0(org.apache.qpid.broker:queue:MR.Retry)



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

How reproducible:
100%

Steps to Reproduce:
1. Compile attached code
2. Run
3. When prompted, quickly enter any number and press enter (If a longer time is waited, then no error will occur)
  
Actual results:

An exception occurred during a call to a QPid function. Details: Problem rerouting MR.Retry to BOB.Ex. Error code: 1. Error message: No object found with ID=0-0-0--0(org.apache.qpid.broker:queue:MR.Retry)


Expected results:

Message is displayed: "Success in TestAmqpActionsTestReroute!"

Additional info:

Comment 1 Chris Pitman 2010-11-17 22:02:27 UTC
Created attachment 461172 [details]
Failing Example Code

Comment 2 Ted Ross 2010-11-18 13:51:18 UTC
I've identified the source of the problem...  In the broker's embedded agent, newly created objects (in this case queues), are placed on a new-object-list.  When the periodic publish interval arrives, objects on the new-object-list are moved to the main object-list.

The bug is that when method calls are handled, objects addressed are only looked up in the main list.  Objects created since the last interval are not visible to the method handler.

The fix is simple and low-risk... Prior to method handling, the contents of the new-object-list need to be moved to the main object-list.

Comment 3 Ted Ross 2010-11-23 16:00:48 UTC
Created attachment 462371 [details]
A simpler reproducer in Python

Comment 4 Ted Ross 2010-11-23 17:45:03 UTC
Upstream issue:  https://issues.apache.org/jira/browse/QPID-2957

Comment 5 Ted Ross 2010-11-23 17:58:16 UTC
Fixed upstream in revision 1038231.

Comment 6 Jan Sarenik 2011-03-22 09:58:24 UTC
Reproduced on RHEL5 x86_64 with following packages
and previously attached python reproducer:
  python-qmf-0.7.946106-14.el5
  python-qpid-0.7.946106-15.el5
  qpid-cpp-client-0.7.946106-22.el5
  qpid-cpp-server-0.7.946106-22.el5

Comment 7 Jan Sarenik 2011-03-22 10:00:19 UTC
Verified on the same machine with following packages:
  python-qpid-qmf-0.9.1079953-3.el5
  python-qpid-0.9.1079482-1.el5
  qpid-cpp-client-0.9.1079953-1.el5
  qpid-cpp-server-0.9.1079953-1.el5
  qpid-qmf-0.9.1079953-3.el5

Comment 8 Jan Sarenik 2011-03-22 10:18:10 UTC
Comment on attachment 462371 [details]
A simpler reproducer in Python

$ python BZ654461.py 
FAIL - Message(properties={u'qmf.agent': u'broker', u'qmf.opcode': u'_exception', 'x-amqp-0-10.routing-key': u'reply', u'app_id': u'qmf2', u'method': u'indication'}, content={u'_values': {u'error_code': 1L, u'error_text': 'No object found with ID=0-0-0--0(org.apache.qpid.broker:queue:test-queue)'}})

Comment 9 Jan Sarenik 2011-06-06 10:04:56 UTC
Verified on RHEL6.1 (both archs) as well:
  python-qpid-0.10-1.el6.noarch
  qpid-cpp-client-0.10-5.el6.x86_64
  qpid-cpp-server-0.10-5.el6.x86_64
  qpid-qmf-0.10-10.el6.x86_64
  python-qpid-qmf-0.10-10.el6.x86_64
  qpid-tools-0.10-3.el6.noarch

Comment 10 Jan Sarenik 2011-06-06 10:18:26 UTC
Verified also on RHEL5 i386 with current MRG 2.0 packages.

Comment 11 errata-xmlrpc 2011-06-23 15:50:05 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-0890.html