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

Large deliveries comprising many transfers are handled inefficiently

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • proton-j-0.23.0
    • proton-j-0.27.0
    • proton-j
    • None

    Description

      Running performance tests using Qpid Broker J and Qpid JMS Client (0.26.0) shows that receipt of large messages is very slow in comparison with the send of the same message. For instance, sending 300MiB bytes message takes 5 seconds on my laptop. The receipt takes 97 seconds.

      Instrumenting the client stack shows an obvious hot-spot in Proton-J. org.apache.qpid.proton.engine.impl.TransportSession#handleTransfer re-allocates/array copies the entire delivery buffer for ever transfer that comprises it. This leads to a non-linear loss of performance. The stack include Proton-J 0.23.0, but is looks like this code is unchanged.

      Attachments

        1. JProfiler_PROTON-1672.tiff
          595 kB
          Keith Wall

        Activity

          People

            tabish Timothy A. Bish
            kwall Keith Wall
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: