Bug 641505
| Summary: | Incorrect handling of non-string values in address arguments (c++ client) | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Ted Ross <tross> |
| Component: | qpid-cpp | Assignee: | messaging-bugs <messaging-bugs> |
| Status: | CLOSED DUPLICATE | QA Contact: | MRG Quality Engineering <mrgqe-bugs> |
| Severity: | urgent | Docs Contact: | |
| Priority: | urgent | ||
| Version: | beta | CC: | gsim, iboverma, tross |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2010-11-01 12:52:08 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: | |||
*** This bug has been marked as a duplicate of bug 647860 *** |
Description of problem: Numeric values in address parameters are incorrectly interpreted as strings. The following address, run on the c++ client, causes the problem: my-queue;{create:always,node:{type:queue,x-declare:{arguments:{'qpid.max_count':60}}}} Version-Release number of selected component (if applicable): MRG 1.3 - qpid-cpp-mrg-0.7.946106-17.el5 How reproducible: 100% Steps to Reproduce: $ drain "my-queue;{create:always,node:{type:queue,x-declare:{arguments:{'qpid.max_count':60}}}}" $ qpid-config queues Queue Name Attributes ====================================================================== my-queue Failed: TypeError: %d format: a number is required, not str No only does qpid-config misinterpret the value of the 'qpid.max_count' field, but the broker does as well (i.e. the limit on the queue remains the default). Note that this works properly when using the Python API. It is an inconsistency in the way addresses are parsed and encoded with Python doing it correctly.