Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-2896

Incorrect detection of data types in address parameters - C++ client

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.7
    • Fix Version/s: 0.7
    • Component/s: C++ Client
    • Labels:
      None

      Description

      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}}}}

      Reproducer:

      $ 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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jonathan.robie Jonathan Robie
                Reporter:
                tedross Ted Ross
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: