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

Attempting to settle a rx multiframe message part way can cause connection drop

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • proton-c-0.27.1, proton-c-0.28.0
    • None
    • proton-c, python-binding
    • None

    Description

      Unsure if expected behavior:

      If a receiver settles an inbound message before all frames have arrived, any buffered frames (including frames buffered in the sender) that arrive after the settlement causes the connection to close. See the following router log:

      2019-05-15 15:38:47.133438 -0400 SERVER (trace) [86]:0 -> @transfer(20) [handle=0, delivery-id=1, delivery-tag=b"\x1f\x07\x00\x00\x00\x00\x00\x00", message-format=0, more=true] (32768) "ZZZ"... (truncated) (/home/kgiusti/tmp/qpid-dispatch/src/server.c:106)

      2019-05-15 15:38:47.135611 0400 SERVER (trace) [86]:0 < @disposition(21) [role=true, first=1, settled=true, state=@released(38) []] (/home/kgiusti/tmp/qpid-dispatch/src/server.c:106)

      2019-05-15 15:38:47.135732 0400 SERVER (trace) [86]:0 < @close(24) [error=@error(29) [condition=:"amqp:session:invalid-field", description="sequencing error, expected delivery-id 2, got 1"]] (/home/kgiusti/tmp/qpid-dispatch/src/server.c:106)

      2019-05-15 15:38:47.135780 0400 SERVER (trace) [86]: < EOS (/home/kgiusti/tmp/qpid-dispatch/src/server.c:106)

      A reproducer has been added to the router unit tests (early close) via the following patch:

      dispatch test patch

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              kgiusti Ken Giusti
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: