Bug 601828
Summary: | QMF Agent returning STATUS_USER returns error 7 to QMF Console | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Matthew Farrellee <matt> | ||||||
Component: | qpid-qmf | Assignee: | messaging-bugs <messaging-bugs> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Jan Sarenik <jsarenik> | ||||||
Severity: | high | Docs Contact: | |||||||
Priority: | low | ||||||||
Version: | 1.2 | CC: | jsarenik, tross | ||||||
Target Milestone: | 1.3 | ||||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: |
Previously, the error codes supplied by a QMF agent were being sent back as only one type of an exception. This rendered the error codes unusable for debugging the QMF agent's behavior. With this update, the QMF implementation logic was changed to accommodate error return codes for every error produced. Error codes can now be sent by a QMF agent and be distinguished by the QMF console.
|
Story Points: | --- | ||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2010-10-14 15:58:18 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: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 563818 | ||||||||
Attachments: |
|
Description
Matthew Farrellee
2010-06-08 17:46:47 UTC
Created attachment 422284 [details]
MethodTest Agent
Created attachment 422285 [details]
MethodTest QMF Schema
Fixed upstream in revision 953885. Matt, this simple example is a perfect fit for Bug 606391. All that is needed to compile and run the example is to install qmf-devel and qpid-cpp-server (incl. dependencies) and cyrus-sasl-plain (see the above mentioned bug). # qmf-gen MethodTest.xml ... # gcc -g MethodTest.cpp test/MethodTest.cpp -lqpidcommon -lqpidclient -lqmf # ./a.out This is my session on RHEL5 x86_64, packages python-qmf-0.7.946106-4.el5 python-qpid-0.7.946106-2.el5 qmf-devel-0.7.946106-4.el5 qpid-cpp-client-devel-0.7.946106-4.el5 qpid-cpp-server-0.7.946106-4.el5 qpid-tools-0.7.946106-4.el5 ------------------------------------------------------------------------ # qpid-tool Management Tool for QPID qpid: list methodtest Object Summary: ID Created Destroyed Index ============================================ 101 10:02:48 - test:methodtest: qpid: schema methodtest Object Class: Table Class: test:methodtest(8d301221-07bd-5e35-3e18-59626ef74dd9) Method: SuccessNoOutputNoText Argument Type Direction Unit Description ===================================================== output long-string O Method: SuccessNoOutputWithText Argument Type Direction Unit Description ===================================================== output long-string O Method: SuccessWithOutputNoText Argument Type Direction Unit Description ===================================================== output long-string O Method: SuccessWithOutputWithText Argument Type Direction Unit Description ===================================================== output long-string O Method: ErrorNoOutputNoText Argument Type Direction Unit Description ===================================================== output long-string O Method: ErrorNoOutputWithText Argument Type Direction Unit Description ===================================================== output long-string O Method: ErrorWithOutputNoText Argument Type Direction Unit Description ===================================================== output long-string O Method: ErrorWithOutputWithText Argument Type Direction Unit Description ===================================================== output long-string O qpid: call 101 SuccessNoOutputNoText qpid: OK (0) - {u'output': ''} qpid: call 101 SuccessNoOutputWithText qpid: OK (0) - {u'output': ''} qpid: call 101 SuccessWithOutputNoText qpid: OK (0) - {u'output': 'SuccessWithOutputNoText'} qpid: call 101 SuccessWithOutputWithText qpid: OK (0) - {u'output': 'SuccessWithOutputWithText'} qpid: call 101 SuccessWithOutputWithText qpid: OK (0) - {u'output': 'SuccessWithOutputWithText'} qpid: call 101 ErrorNoOutputNoText qpid: (67482) - {} qpid: call 101 ErrorNoOutputWithText qpid: Error no output (67512) - {} qpid: call 101 ErrorWithOutputNoText qpid: (67516) - {} qpid: call 101 ErrorWithOutputWithText qpid: Error with output (67520) - {} qpid: quit Exiting... ------------------------------------------------------------------------ I would expect something like: qpid: call 101 ErrorWithOutputNoText qpid: (67516) - {u'output': 'ErrorWithOutputNoText'} and so on. Am I right? Let's check with Ted - when an error (STATUS_USER) is returned, are output parameters also returned? If so, we have a new BZ, if not we're good. Output parameters are only returned if the status is SUCCESS. In all failure cases, the only data returned is the error code and a text string. Note that this is for QMFv1 only. In QMFv2, errors are reported via exception which can carry arbitrary data. -Ted This way I consider it VERIFIED. Thanks for comment. 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: Previously, the error codes supplied by a QMF agent were being sent back as only one type of an exception. This rendered the error codes unusable for debugging the QMF agent's behavior. With this update, the QMF implementation logic was changed to accommodate error return codes for every error produced. Error codes can now be sent by a QMF agent and be distinguished by the QMF console. 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/RHSA-2010-0773.html |