You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Gary Tully (Jira)" <ji...@apache.org> on 2020/04/08 13:32:00 UTC
[jira] [Created] (AMQ-7464) ServerSession run does not copy message
before dispatch; rollback delivered ack messageId can get corrupted by
direct forward, leading to "Could not correlate acknowledgment with
dispatched message" JMSException
Gary Tully created AMQ-7464:
-------------------------------
Summary: ServerSession run does not copy message before dispatch; rollback delivered ack messageId can get corrupted by direct forward, leading to "Could not correlate acknowledgment with dispatched message" JMSException
Key: AMQ-7464
URL: https://issues.apache.org/jira/browse/AMQ-7464
Project: ActiveMQ
Issue Type: Bug
Components: JCA Container, JMS client
Affects Versions: 5.15.0
Reporter: Gary Tully
Assignee: Gary Tully
Fix For: 5.16.0
An MDB, that directly forwards its message can lead to unmatched acks on rollback.
The root cause is ServerSession.run not doing a message copy before up call to the listener.
An unmatched delivered ACK cause a broker error and JMS exception "Could not correlate acknowledgment with dispatched message" that closes the connection which prevents normal rollback and redelivery processing.
The fix is to copy, in the same way as a regular message consumer, such that the application is free to do what every it wants to the message.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)