Bug 692158 - QMF data query from synchronous (qmf_list_objects) and asynchronous (qpid-tool) console gives different results
Summary: QMF data query from synchronous (qmf_list_objects) and asynchronous (qpid-too...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-qmf
Version: Development
Hardware: Unspecified
OS: Linux
high
urgent
Target Milestone: 2.0
: ---
Assignee: Ted Ross
QA Contact: Tomas Rusnak
URL:
Whiteboard:
Depends On:
Blocks: 676411 697503 705325
TreeView+ depends on / blocked
 
Reported: 2011-03-30 15:17 UTC by Frantisek Reznicek
Modified: 2015-11-16 01:13 UTC (History)
7 users (show)

Fixed In Version: 0.10
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-06-27 15:39:19 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Frantisek Reznicek 2011-03-30 15:17:39 UTC
Description of problem:

QMF data query from synchronous (qmf_list_objects) and asynchronous (qpid-tool) console gives different results.

Problem A] Asynchronous access:

using qpid-tool for browsing through QMF packages does not work as expected.
3 Agents running:
 a] broker default qmf agent
 b] sesame agent
 c] matahari-host agent


qpid-tool lists just a] and b], never c]


Problem B] Synchronous access

using qmf_list_objects (synchronous console [1]) I can get all three agents a] b] c], but if I run the qpid-tool (async console) and then I run qmf_list_objects I get just a] and b]  next re-run of qmf_list_objects gives a], b], c]


So QMF data reception is not reliable. Matahari might be affected.

[1] http://cvs.devel.redhat.com/cgi-bin/cvsweb.cgi/tests/distribution/MRG/Messaging/qpid_common/clients/python/ search for qmf_*.py

Version-Release number of selected component (if applicable):
[root@mrg-qe-10 python]# rpm -qa | egrep '(qpid|sesame|matahari)' | sort
matahari-0.4.0-1.el6.x86_64
matahari-agent-lib-0.4.0-1.el6.x86_64
matahari-host-0.4.0-1.el6.x86_64
matahari-lib-0.4.0-1.el6.x86_64
matahari-net-0.4.0-1.el6.x86_64
matahari-service-0.4.0-1.el6.x86_64
python-qpid-0.10-1.el6.noarch
python-qpid-qmf-0.10-4.el6.x86_64
qpid-cpp-client-0.10-1.el6.x86_64
qpid-cpp-client-devel-0.10-1.el6.x86_64
qpid-cpp-client-devel-docs-0.10-1.el6.noarch
qpid-cpp-client-rdma-0.10-1.el6.x86_64
qpid-cpp-client-ssl-0.10-1.el6.x86_64
qpid-cpp-debuginfo-0.10-1.el6.x86_64
qpid-cpp-server-0.10-1.el6.x86_64
qpid-cpp-server-cluster-0.10-1.el6.x86_64
qpid-cpp-server-devel-0.10-1.el6.x86_64
qpid-cpp-server-rdma-0.10-1.el6.x86_64
qpid-cpp-server-ssl-0.10-1.el6.x86_64
qpid-cpp-server-store-0.10-1.el6.x86_64
qpid-cpp-server-xml-0.10-1.el6.x86_64
qpid-java-client-0.10-1.el6.noarch
qpid-java-common-0.10-1.el6.noarch
qpid-java-example-0.10-1.el6.noarch
qpid-qmf-0.10-4.el6.x86_64
qpid-qmf-devel-0.10-4.el6.x86_64
qpid-tests-0.10-1.el6.noarch
qpid-tools-0.10-1.el6.noarch
rh-qpid-cpp-tests-0.10-1.el6.x86_64
ruby-qpid-0.7.946106-2.el6.x86_64
ruby-qpid-qmf-0.10-4.el6.x86_64
sesame-0.10-1.el6.x86_64


How reproducible:
100%

Steps to Reproduce:
1. service qpidd start
   service sesame start
   service matahari-host start
2. qpid-tool # schema
3. ./qmf_list_objects.py  --print-format=%p
  
Actual results:
QMF data are not returned reliably.

Expected results:
QMF data should be returned reliably.

Additional info:
[root@mrg-qe-10 python]# ./qmf_list_objects.py  --print-format=%p
org.apache.qpid.broker
com.redhat.sesame
org.matahariproject
[root@mrg-qe-10 python]# qpid-tool
Management Tool for QPID
qpid: schema
QMF Classes:
    Package                 Name                  Kind
    ======================================================
    org.apache.qpid.broker  broker                object
    org.apache.qpid.broker  bridge                object
    org.apache.qpid.broker  session               object
    org.apache.qpid.broker  system                object
    org.apache.qpid.broker  managementsetupstate  object
    org.apache.qpid.broker  binding               object
    org.apache.qpid.broker  connection            object
    org.apache.qpid.broker  queue                 object
    org.apache.qpid.broker  exchange              object
    org.apache.qpid.broker  link                  object
    org.apache.qpid.broker  subscription          object
    org.apache.qpid.broker  agent                 object
    org.apache.qpid.broker  vhost                 object
qpid: # 20 secs
qpid: schema
QMF Classes:
    Package                 Name                  Kind
    ======================================================
    org.apache.qpid.broker  broker                object
    org.apache.qpid.broker  bridge                object
    org.apache.qpid.broker  session               object
    org.apache.qpid.broker  system                object
    org.apache.qpid.broker  managementsetupstate  object
    org.apache.qpid.broker  binding               object
    org.apache.qpid.broker  connection            object
    org.apache.qpid.broker  queue                 object
    org.apache.qpid.broker  exchange              object
    org.apache.qpid.broker  link                  object
    org.apache.qpid.broker  subscription          object
    org.apache.qpid.broker  agent                 object
    org.apache.qpid.broker  vhost                 object
    com.redhat.sesame       sysimage              object
qpid: quit
Exiting...
[root@mrg-qe-10 python]# ./qmf_list_objects.py  --print-format=%p
org.apache.qpid.broker
com.redhat.sesame
[root@mrg-qe-10 python]# ./qmf_list_objects.py  --print-format=%p
org.apache.qpid.broker
com.redhat.sesame
org.matahariproject
[root@mrg-qe-10 python]# ./qmf_list_objects.py  --print-format=%p
org.apache.qpid.broker
com.redhat.sesame
org.matahariproject
[root@mrg-qe-10 python]# ./qmf_list_objects.py  --print-format=%p
org.apache.qpid.broker
com.redhat.sesame
org.matahariproject
[root@mrg-qe-10 python]# qpid-tool
Management Tool for QPID
qpid: schema
QMF Classes:
    Package                 Name                  Kind
    ======================================================
    org.apache.qpid.broker  broker                object
    org.apache.qpid.broker  bridge                object
    org.apache.qpid.broker  session               object
    org.apache.qpid.broker  system                object
    org.apache.qpid.broker  managementsetupstate  object
    org.apache.qpid.broker  binding               object
    org.apache.qpid.broker  connection            object
    org.apache.qpid.broker  queue                 object
    org.apache.qpid.broker  exchange              object
    org.apache.qpid.broker  link                  object
    org.apache.qpid.broker  subscription          object
    org.apache.qpid.broker  agent                 object
    org.apache.qpid.broker  vhost                 object
qpid: #10 secs
*** Unknown syntax: #10 secs
qpid: schema
QMF Classes:
    Package                 Name                  Kind
    ======================================================
    org.apache.qpid.broker  broker                object
    org.apache.qpid.broker  bridge                object
    org.apache.qpid.broker  session               object
    org.apache.qpid.broker  system                object
    org.apache.qpid.broker  managementsetupstate  object
    org.apache.qpid.broker  binding               object
    org.apache.qpid.broker  connection            object
    org.apache.qpid.broker  queue                 object
    org.apache.qpid.broker  exchange              object
    org.apache.qpid.broker  link                  object
    org.apache.qpid.broker  subscription          object
    org.apache.qpid.broker  agent                 object
    org.apache.qpid.broker  vhost                 object
    com.redhat.sesame       sysimage              object
qpid: quit
Exiting...
[root@mrg-qe-10 python]# ./qmf_list_objects.py  --print-format=%p
org.apache.qpid.broker
com.redhat.sesame
[root@mrg-qe-10 python]# ./qmf_list_objects.py  --print-format=%p
org.apache.qpid.broker
com.redhat.sesame
org.matahariproject
[root@mrg-qe-10 python]# ./qmf_list_objects.py  --print-format=%p
org.apache.qpid.broker
org.matahariproject
[root@mrg-qe-10 python]#

Comment 1 Tomas Rusnak 2011-05-24 12:08:33 UTC
# rpm -qa | egrep '(qpid|sesame|matahari)' | sort
python-qpid-0.10-1.el6.noarch
python-qpid-qmf-0.10-7.el6.x86_64
qpid-cpp-client-0.10-4.el6.x86_64
qpid-cpp-client-devel-0.10-4.el6.x86_64
qpid-cpp-client-devel-docs-0.10-4.el6.noarch
qpid-cpp-client-rdma-0.10-4.el6.x86_64
qpid-cpp-client-ssl-0.10-4.el6.x86_64
qpid-cpp-server-0.10-4.el6.x86_64
qpid-cpp-server-cluster-0.10-4.el6.x86_64
qpid-cpp-server-devel-0.10-4.el6.x86_64
qpid-cpp-server-rdma-0.10-4.el6.x86_64
qpid-cpp-server-ssl-0.10-4.el6.x86_64
qpid-cpp-server-store-0.10-4.el6.x86_64
qpid-cpp-server-xml-0.10-4.el6.x86_64
qpid-java-client-0.10-6.el6.noarch
qpid-java-common-0.10-6.el6.noarch
qpid-java-example-0.10-6.el6.noarch
qpid-java-jca-0.10-6.el6.noarch
qpid-qmf-0.10-7.el6.x86_64
qpid-tests-0.10-1.el6.noarch
qpid-tools-0.10-4.el6.noarch
rh-qpid-cpp-tests-0.10-4.el6.x86_64
ruby-qpid-0.7.946106-2.el6.x86_64
ruby-qpid-qmf-0.10-7.el6.x86_64
sesame-debuginfo-0.10-1.el6.x86_64

qpid: list
Summary of Objects by Type:
    Package                 Class         Active  Deleted
    =======================================================
    com.redhat.grid         scheduler     1       0
    com.redhat.grid         slot          1       0
    org.apache.qpid.broker  binding       43      0
    com.redhat.grid         jobserver     1       0
    org.apache.qpid.broker  broker        1       0
    com.redhat.grid         submitter     1       0
    org.apache.qpid.broker  system        1       0
    com.redhat.grid         negotiator    1       0
    org.apache.qpid.broker  subscription  13      0
    org.apache.qpid.broker  connection    9       1
    org.apache.qpid.broker  session       9       0
    org.apache.qpid.broker  queue         13      0
    org.apache.qpid.broker  exchange      8       0
    org.apache.qpid.broker  vhost         1       0
    com.redhat.grid         submission    1       0
    com.redhat.grid         master        1       0
    org.apache.qpid.broker  agent         1       0
    com.redhat.grid         collector     1       0

For example, the triggerd object is available via synchronous qmf console: 

 com.redhat.grid:condortriggerservice:triggerd.lab.eng.brq.redhat.com (0-15-1-0-org.apache.qpid.broker:binding:org.apache.qpid.broker:exchange:qmf.default.direct,org.apache.qpid.broker:queue:qmfagent-d2e6233e-ba15-4c95-b4d3-7bd9d063e9e7,com.redhat.grid:condortriggerservice:triggerd.lab.eng.brq.redhat.com)
      bindingKey	com.redhat.grid:condortriggerservice:triggerd.lab.eng.brq.redhat.com

Updated qpid-tool in RHEL6 was not patched to solve this issue.

Comment 2 Tomas Rusnak 2011-05-26 12:08:18 UTC
Retested over all supported platforms RHEL5,RHEL6/x86,x86_64 with:

RHEL5:
condor-7.6.1-0.6.el5
condor-classads-7.6.1-0.6.el5
condor-qmf-7.6.1-0.6.el5
condor-wallaby-base-db-1.12-1.el5
condor-wallaby-client-4.0-6.el5
condor-wallaby-tools-4.0-6.el5
python-condorutils-1.5-3.el5
python-qpid-0.10-1.el5
python-qpid-qmf-0.10-9.el5
qpid-cpp-client-0.10-7.el5
qpid-cpp-client-devel-0.10-7.el5
qpid-cpp-client-devel-docs-0.10-7.el5
qpid-cpp-client-ssl-0.10-7.el5
qpid-cpp-server-0.10-7.el5
qpid-cpp-server-cluster-0.10-7.el5
qpid-cpp-server-devel-0.10-7.el5
qpid-cpp-server-ssl-0.10-7.el5
qpid-cpp-server-store-0.10-7.el5
qpid-cpp-server-xml-0.10-7.el5
qpid-java-client-0.10-6.el5
qpid-java-common-0.10-6.el5
qpid-java-example-0.10-6.el5
qpid-qmf-0.10-9.el5
qpid-qmf-devel-0.10-9.el5
qpid-tools-0.10-5.el5
ruby-qpid-qmf-0.10-9.el5

RHEL6:
condor-7.6.1-0.6.el6.x86_64
condor-aviary-7.6.1-0.6.el6.x86_64
condor-classads-7.6.1-0.6.el6.x86_64
condor-debuginfo-7.6.1-0.6.el6.x86_64
condor-kbdd-7.6.1-0.6.el6.x86_64
condor-qmf-7.6.1-0.6.el6.x86_64
condor-vm-gahp-7.6.1-0.6.el6.x86_64
condor-wallaby-base-db-1.12-1.el6.noarch
condor-wallaby-client-4.0-6.el6.noarch
condor-wallaby-tools-4.0-6.el6.noarch
python-condorutils-1.5-3.el6.noarch
python-qpid-0.10-1.el6.noarch
python-qpid-qmf-0.10-7.el6.x86_64
qpid-cpp-client-0.10-5.el6.x86_64
qpid-cpp-client-devel-0.10-5.el6.x86_64
qpid-cpp-client-devel-docs-0.10-5.el6.noarch
qpid-cpp-client-rdma-0.10-5.el6.x86_64
qpid-cpp-client-ssl-0.10-5.el6.x86_64
qpid-cpp-server-0.10-5.el6.x86_64
qpid-cpp-server-cluster-0.10-5.el6.x86_64
qpid-cpp-server-devel-0.10-5.el6.x86_64
qpid-cpp-server-rdma-0.10-5.el6.x86_64
qpid-cpp-server-ssl-0.10-5.el6.x86_64
qpid-cpp-server-store-0.10-5.el6.x86_64
qpid-cpp-server-xml-0.10-5.el6.x86_64
qpid-java-client-0.10-6.el6.noarch
qpid-java-common-0.10-6.el6.noarch
qpid-java-example-0.10-6.el6.noarch
qpid-java-jca-0.10-6.el6.noarch
qpid-qmf-0.10-7.el6.x86_64
qpid-tests-0.10-1.el6.noarch
qpid-tools-0.10-4.el6.noarch
rh-qpid-cpp-tests-0.10-5.el6.x86_64
ruby-qpid-0.7.946106-2.el6.x86_64
ruby-qpid-qmf-0.10-7.el6.x86_64

qpid: list
Summary of Objects by Type:
    Package                 Class                 Active  Deleted
    ===============================================================
    com.redhat.grid         condortriggerservice  1       0
    org.apache.qpid.broker  binding               63      0
    org.apache.qpid.broker  subscription          21      0
    org.apache.qpid.broker  broker                1       0
    org.apache.qpid.broker  system                1       0
    org.apache.qpid.broker  queue                 21      0
    com.redhat.grid         negotiator            1       0
    com.redhat.grid         submission            243     0
    org.apache.qpid.broker  connection            11      0
    com.redhat.grid         slot                  1       0
    org.apache.qpid.broker  session               11      0
    com.redhat.grid         condortrigger         15      0
    com.redhat.grid         jobserver             1       0
    org.apache.qpid.broker  exchange              8       0
    org.apache.qpid.broker  vhost                 1       0
    com.redhat.grid         master                1       0
    org.apache.qpid.broker  agent                 1       0
    com.redhat.grid         collector             1       0

All objects are visible in qpid-tool with latest package set.

>>> VERIFIED


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