Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1898

Memory leak related to sending

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

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • proton-c-0.24.0
    • None
    • go-binding
    • None

    Description

      I started implementing a GO application using qpid electron. There is one connection used to receive messages (at-least-once). It works nicely with low memory consumption, multiple links and multiple go routines, 50 bytes payload, up to 3000 msg/s

      But as soon as the application starts sending messages (to reply over the same connection) memory consumption is continuously growing up to 2GB where I stopped.

      Even if electron does not leave many options for wrong usage there might be an issue in the application.

      So I tried the qpid electron example "https://github.com/apache/qpid-proton/blob/master/go/examples/electron/send.go", the same issue.

      To reproduce it:

      • use the sample program, I just added connection options for SASL PLAIN
      • let it send 100000 messages or more to one destination

      My setup:

      • windows 10 pro
      • go1.10.2 windows/amd64
      • qpid 0.24.0-rc1
      • go files and lib build from same git repository clone and branch
      • visual studio 2015, release build, no errors
      • Broker: Solace VMR 8.11.0.1029 with different durable queues as source and target

      I tried also qpid proton 0.23.0 earlier, but saw the same problem.

      I tried SendAsync and SendSync, both in 10-50 go routines in parallel.Finally, with SendForget my worker routines were soon blocked and did not come back.

      Best regards
      Christoph

       

      Attachments

        Issue Links

        Activity

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

          People

            Unassigned Unassigned
            Scheiber Christoph Scheiber

            Dates

              Created:
              Updated:

              Slack

                Issue deployment