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

deliveries are not returned in order

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Won't Fix
    • proton-0.8
    • None
    • proton-c
    • None

    Description

      If, on a single session, I send e.g. 3 messages on one link, followed by a message on another link, then on the receiving side I expect those to be returned in the order in which they are sent.

      Although proton-c on the receiving side receives them in the correct order as verified by turning on tracing, the order in which the respective deliveries are returned by pn_work_head()/pn_work_next() is not correct. I get the first message, followed by the last message (i.e. the fourth), then the second and third.

      If I modify the test to send a fifth message to a third link, then on the receiving side the 5th message is received 3rd. I.e. it appears that the work queue involves taking the first delivery off each link, rather than having a session level ordering

      In the case where a transaction discharge message is sent after some transactional publications, this results in the discharge being processed before all the publications the transaction is supposed to cover. (The sender can of course wait for all the transactional publications to be accepted before it sends the commit, but on a single session this isn't necessary and as far as I can see not required by the spec.) In any case, preserving order is likely to be important in other cases.

      Attachments

        Issue Links

          Activity

            People

              rhs Rafael H. Schloming
              gsim Gordon Sim
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: