Details
-
Bug
-
Resolution: Done
-
Major
-
AMQ 7.9.0.GA, AMQ 7.8.3.GA
-
None
Description
Protocol: AMQP
It seems that the upstream broker delivers all the messages to the consumers of the downstream broker but checking the metrics for the upstream broker tells us that the last few messages were never acknowledged. We can also see them if we call the listDeliveringMessages mBean.
{ "ServerConsumer [id=58e610d7:5d23a784-3e56-11ec-98da-525400ba0306:0, filter=null, binding=LocalQueueBinding [address=exampleQueue, queue=QueueImpl[name=exampleQueue, postOffice=PostOfficeImpl [server=ActiveMQServerImpl::name=broker1], temp=false]@da19eaa]]": [ { "durable": true, "address": "exampleQueue", "messageID": 20182, "expiration": 0, "priority": 4, "userID": "ID:ID:3e86948e-a843-4961-b100-2b1e5ba33e34:1:1:1-1", "timestamp": 1636130143888 } ] }
After this, if the consumer is restarted, the metrics are reset to 0 but if the broker is restarted, it delivers these pending messages again.
This puts it at the risk of delivering duplicate messages.