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

[Java Broker] Stop ServerEncoder on AMQP 0-10 from unnecessarily allocating ByteBuffers

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      As reported by this email thread the broker can currently run out of direct memory without flow-to-disk ever kicking in.

      A defect in SeverEncoder#init() means that we allocate a new 8 kB direct bytebuffer everytime it is called (i.e. on every AMQP 0-10 method or command). This is wasteful and in some cases the GC does not collect these direct byte buffers fast enough leading to the OOM.

      Attachments

        1. QPID-7465_v2.diff
          1 kB
          Lorenz Quack
        2. QPID-7465_v2.diff
          1 kB
          Lorenz Quack
        3. QPID-7465.diff
          1 kB
          Lorenz Quack

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            orudyy Alex Rudyy
            lorenz.quack Lorenz Quack
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment