[ 
https://issues.apache.org/jira/browse/AMQ-6286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Tully resolved AMQ-6286.
-----------------------------
    Resolution: Fixed

strictOrderDispatch=true - for a single consumer, re-dispatched messages will 
be inserted at the head of the dispatch list.
Note: this does not work if prioritizedMessages=true, in that case the ordering 
is determined by the current visible message priority, irrespective of previous 
dispatch order.

> Queue order lost on repeated redelivery
> ---------------------------------------
>
>                 Key: AMQ-6286
>                 URL: https://issues.apache.org/jira/browse/AMQ-6286
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.13.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: order
>             Fix For: 5.14.0
>
>
> When a consumer prefetches messages or consumes and does not ack in pull 
> mode, on close, any messages that have not been acked end up in on the broker 
> in the already delivered list.
> These messages get dispatched first. However, if these messages are 
> unconsumed again, they get appended to the dispatched list.
> This makes sense when there are multiple consumers, A gets 10, B gets 10, A 
> closes, there are 10 to redeliver, B closes, there are now 20 to redeliver. 
> the order should be preserved.
> However if there is a single consumer this breaks.
> Consider: 
> publish 100 to Q
> consume 50 and rollback/close with all unacked, expect 0-49
> consume 10 and rollback/close with all unacked, expect 0-9
> consume 10 more ... expect 0-9 but get 10-19!
> In concert with the strictOrderDispatch policy, I think we should be able to 
> support the natural expectation here.
> The scenario presents its self with prefetched messages where the prefetch 
> varies or more naturally with a single consumer that consumed in various 
> transaction batches. In the transacted case, two failures would result in 
> compromised queue ordering. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to