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

applying delivery state to a locally-settled delivery can cause erroneous disposition frame

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: proton-j-0.32.0
    • Fix Version/s: proton-j-0.33.0
    • Component/s: proton-j
    • Labels:
      None

      Description

      If a delivery has disposition state applied and is locally-settled (and the transport output processed), e.g a consumer receiving an unsettled message and acknowledging it, then the unexpected act of applying further delivery state to the delivery object can result in erroneously emitting another disposition frame upon future processing.

      This occurs because applying the state makes adds the delivery to the transport work list again, with the process only being gated on prior remote-settlement to prevent sending a useless notice of settlement. It should also gate on local-settlement to avoid the odd post-settlement state application from actually leading to a disposition frame.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                gemmellr Robbie Gemmell
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: