Qpid
  1. Qpid
  2. QPID-2338

[C++ Broker] Ring queue does not properly implement byte size limits

    Details

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

      Description

      To test I created a queue on the C++ broker with a size limit of 512 bytes, and a policy of "ring"

      First I sent 5 messages each of size 100 bytes.
      Then I sent a 6th 100 byte message - as expected this dequeued one of the existing messages

      next I sent a single message of size 400 bytes
      This caused only a single existing message to be dequeued, leading to 5 messages being enqueued with a total depth of 900 bytes (as reported by qpid-tool). At this point I would have expected all but one of the existing messages to have been dequeued in order to make room for the 400 byte message

      Finally I sent a single 1000 byte message. This message in itself should have been too big for the queue, however it was enqueued; and only one 100 byte message was dequeued - leaving a total byte depth of 1800 bytes being enqueued.

        Activity

        Hide
        Jonathan Robie added a comment -

        Resolved in revision 1003531.

        Show
        Jonathan Robie added a comment - Resolved in revision 1003531.

          People

          • Assignee:
            Jonathan Robie
            Reporter:
            Rob Godfrey
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development