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

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

            Dates

              Created:
              Updated:
              Resolved: