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

CPP Broker allows credit window to exceed the request size.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.14
    • Fix Version/s: 0.15
    • Component/s: C++ Broker
    • Labels:
      None

      Description

      Investigation of QPID-2703 revealed that the CPP Broker can be made to extend the window size beyond that requested by the client's message.flow command. To reproduce the problem, the client must perform the following steps:

      1) Receive messages
      2) Perform message stop
      3) Perform message flow
      4) Complete messages received by step 1)
      5) Observe the window is the sum of that requested by step 3 + the recredit of messages from 1)

      The window handling behaviour of the CPP Broker was the reason that QPID-2703 was not apparent against the CPP Broker but was against the Java Broker which does not expand the window in this way.

      The attached Python test demonstrates the issue by receiving more uncompleted message commands than the window should allow. Obviously it can be argued that the python test does not have the expected order of commands, but there is nothing stopping a client from performing such a sequence (e.g. the Qpid Java Client) so the broker should enforce the requested window size regardless.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                gsim Gordon Sim
                Reporter:
                k-wall Keith Wall
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: