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

[Broker-J] Message transfer freezes when session runs out of transfer frames

    XMLWordPrintableJSON

    Details

      Description

      It is stated in AMQP protocol documentation:

      An AMQP connection consists of a full-duplex, reliably ordered sequence of frames. A frame is the unit of work carried on the wire. Connections have a negotiated maximum frame size allowing byte streams to be easily defragmented into complete frame bodies representing the independently parsable units.

      Each session negotiates properties and state that drives the flow of the frames:

      • next-incoming-id
      • incoming-window
      • next-outgoing-id
      • outgoing-window
      • remote-incoming-window
      • remote-outgoing-window

      The capacity of the incoming flow is limited by the maximum frame size and incoming window. When message size exceeds the capacity of the incoming flow to broker the transfer freezes. Neither client nor broker tries to negotiate a new incoming window (I have tested several clients.) The broker is the receiver and so it is the authority that makes the final decision about incoming window. Hence, the broker should offer to client a new incoming window when the capacity is depleted.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              lacam Marek Laca
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: