Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
5.9.1
Description
A consumer with a transacted session that dies after receive or in onMessage (due to some of the message content for example), but before the a transaction can complete will continue to receive the message.
The connection will die, the transaction will rollback, the broker will increment the redeliveryCounter and redispatch the message.
However the redeliveryPolicy, which is only checked on rollback (client side) will never kick in.
the result is infinite redelivery with an ever incrementing redeliveryCounter.
It is a reasonable expectation that this message would eventually find its way into the dlq.
The broker redelivery plugin does not help because it is triggered by the client side poison ack.
Either the broker redelivery plugin can get involved before dispatch, or a client can do a predispatch check.
Attachments
Issue Links
- breaks
-
AMQ-5156 Multiple tests using durable subs are failing
- Resolved
- is related to
-
AMQCPP-552 Honor RedeliveryPolicy for message redelivered by the Broker.
- Resolved
-
AMQNET-489 Port fixes from AMQ-5146 to NMS.ActiveMQ
- Resolved
- relates to
-
AMQ-6517 Make redelivery policy preDispatch check optional
- Resolved