Qpid
  1. Qpid
  2. QPID-3980

Last value queue - entries replaced by conflation are never deleted, causing memory leak

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.16
    • Fix Version/s: 0.17
    • Component/s: Java Broker
    • Labels:
      None

      Description

      This issue was uncovered while investigating QPID-3979.

      The conflation behaviour of last value queues appears correct from the perspective of consumers. However, the message count suggests that conflation is not occurring.

      I checked what happens when ConflationQueueList.add(..) is replacing an existing ConflationQueueEntry. ConflationQueueList calls acquire() on the entry and then tries to discard it. The discard does nothing because it tries again to acquire the message. Therefore, the message stays in the list, causing a memory leak.

      Because the message has been acquired, it is not delivered to consumers - that is why everything appears to work correctly from their point of view.

        Issue Links

          Activity

          Hide
          Rob Godfrey added a comment -

          Change looks good to me

          Show
          Rob Godfrey added a comment - Change looks good to me
          Hide
          Philip Harvey added a comment -

          This file can be used as distributed testing framework input (see QPID-3936) to expose the problem.

          Note that the memory usage on the broker and MessageCount on the queue keep increasing while the test is running.

          Show
          Philip Harvey added a comment - This file can be used as distributed testing framework input (see QPID-3936 ) to expose the problem. Note that the memory usage on the broker and MessageCount on the queue keep increasing while the test is running.

            People

            • Assignee:
              Keith Wall
              Reporter:
              Philip Harvey
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development