Gordon Sim closed PROTON-734.
    Resolution: Won't Fix

The conclusion here was to use the event api instead of the old work queue api, 
which avoids the problem.

> deliveries are not returned in order
> ------------------------------------
>                 Key: PROTON-734
>                 URL: https://issues.apache.org/jira/browse/PROTON-734
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: 0.8
>            Reporter: Gordon Sim
>            Assignee: Rafael H. Schloming
>            Priority: Critical
> 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.

This message was sent by Atlassian JIRA

Reply via email to