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

CPP Broker allows credit window to exceed the request size.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.14
    • 0.15
    • C++ Broker
    • 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

              gsim Gordon Sim
              kwall Keith Wall
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: