Red Hat Bugzilla – Bug 760636
Message Group query method should include message timestamp if present.
Last modified: 2014-11-09 17:38:20 EST
Description of problem: The Query method as implemented for message group queues should return the timestamp of the oldest message of each group - if the message contains an 0.10 timestamp. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
The "fix" is available upstream at the following revision: http://svn.apache.org/viewvc?view=revision&revision=1199914
Tested using the following packages: RHEL5.7 python-qpid-0.14-1.el5 python-qpid-qmf-0.14-2.el5 qpid-cpp-client-0.14-3.el5 qpid-cpp-client-devel-0.14-3.el5 qpid-cpp-client-devel-docs-0.14-3.el5 qpid-cpp-client-rdma-0.14-3.el5 qpid-cpp-client-ssl-0.14-3.el5 qpid-cpp-debuginfo-0.12-6.el5 qpid-cpp-server-0.14-3.el5 qpid-cpp-server-cluster-0.14-3.el5 qpid-cpp-server-devel-0.14-3.el5 qpid-cpp-server-rdma-0.14-3.el5 qpid-cpp-server-ssl-0.14-3.el5 qpid-cpp-server-store-0.14-3.el5 qpid-java-client-0.14-1.el5 qpid-java-common-0.14-1.el5 qpid-java-example-0.14-1.el5 qpid-qmf-0.14-2.el5 qpid-qmf-debuginfo-0.14-2.el5 qpid-qmf-devel-0.14-2.el5 qpid-tools-0.14-1.el5 RHEL6.2 python-qpid-0.14-1.el6 python-qpid-qmf-0.14-3.el6 qpid-cpp-client-0.14-1.el6 qpid-cpp-client-devel-0.14-1.el6 qpid-cpp-client-devel-docs-0.14-1.el6 qpid-cpp-client-rdma-0.14-1.el6 qpid-cpp-client-ssl-0.14-1.el6 qpid-cpp-debuginfo-0.14-1.el6 qpid-cpp-server-0.14-1.el6 qpid-cpp-server-cluster-0.14-1.el6 qpid-cpp-server-devel-0.14-1.el6 qpid-cpp-server-rdma-0.14-1.el6 qpid-cpp-server-ssl-0.14-1.el6 qpid-cpp-server-store-0.14-1.el6 qpid-cpp-server-xml-0.14-1.el6 qpid-qmf-0.14-3.el6 qpid-qmf-devel-0.14-3.el6 qpid-tools-0.14-1.el6 -> VERIFIED
This issue has been implemented. One related issue was found: if the head message is acquired but not yet acknowledged/rejected by a consumer, the query method returns zero in the value of the timestamp. see Bug 781496. Verified on RHEL5.7 and RHEL6.2, architectures: x86_64, i686 packages installed: qpid-cpp-mrg-0.14-3.el5 qpid-qmf-0.14-2.el5 qpid-cpp-0.14-1.el6 qpid-qmf-0.14-3.el6 -> VERIFIED
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: The QMF Broker method "query" will return extra detail for a message group queue's internal state. For example, assume a message group queue called "msg-group-q" exists on a broker. The following python code would retrieve this extra state: # verify the query method call's group information rc = broker.query("queue", "msg-group-q") assert rc.status == 0 results = rc.outArgs['results'] assert 'qpid.message_group_queue' in results q_info = results['qpid.message_group_queue'] The data returned in 'q_info' above is a map data-type with the following layout: { "qpid.message_group_queue": { "group_header_key" : "<KEY>", "group_state" : [ { "group_id" : "<name>", "msg_count" : <int>, "timestamp" : <absTime>, "consumer" : <consumer name> }, {...} // one for each known group ] } } If the broker has been configured to timestamp messages on arrival, the "timestamp" field will contain the timestamp of the oldest message of the group. A value of zero would indicate that the oldest message has been acquired but not yet dequeued.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2012-0529.html