When using _AMQ_SCHED_DELIVERY, the message order is incorrect if the consumer is connected late
Issue
- When using _AMQ_SCHED_DELIVERY, the message order is incorrect if the consumer is connected late.
- For example to reproduce the problem:
- Send messageA with "_AMQ_SCHED_DELIVERY = currentTime + 5s"
- Send messageB with "_AMQ_SCHED_DELIVERY = currentTime + 10s"
- Wait for 20s (message A and B will be able to be consumed from the queue)
- Connect with the consumer to consume the messages
=> The order of message retrieval is:
[Expected result] message A and then message B, because Message A has a smaller _AMQ_SCHED_DELIVERY, and since it is sent first
[Actual results ] message B and then message A
- FYI, of course, if the consumer has been connected to the broker before the messages were sent, the messages can be retrieved in the correct order.
- For example to reproduce the problem:
- In AMQ Broker 6, the messages with AMQ_SCHED_DELIVERY were the expected message order.
Environment
- Red Hat AMQ Broker 7.8.2
- Core protocol JMS client library with 7.8.2
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.