[
https://issues.apache.org/jira/browse/AMQ-5146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully resolved AMQ-5146.
-----------------------------
Resolution: Fixed
fixed in http://git-wip-us.apache.org/repos/asf/activemq/commit/fad1dd0f
the redelivery policy is validated before dispatch. If max deliveries is
exceeded the message is poison acked and we move on to the next.
> RedeliveryPolicy exceeded for crashing consumer
> -----------------------------------------------
>
> Key: AMQ-5146
> URL: https://issues.apache.org/jira/browse/AMQ-5146
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.9.1
> Reporter: Gary Tully
> Assignee: Gary Tully
> Labels: DLQ, redelivery, redeliveryPolicy, transaction
> Fix For: 5.10.0
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.2#6252)